【问题标题】:How to fix 500 error in AJAX and Laravel 5?如何修复 AJAX 和 Laravel 5 中的 500 错误?
【发布时间】:2015-07-13 06:42:02
【问题描述】:

我已经被 500(内部服务器错误)卡住了很长时间,我不知道为什么。我需要稍后传递这些代码。

刀片

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

$(document).ready(function() {
    $('#addChirp').submit(function() {
        var msg = $('#message').val();
        console.log(msg);
        var dataString = "message="+msg;
        console.log(dataString);
        $.ajax({
            type: "POST",
            url: "post",
            data: dataString,
            success: function(data) {
                console.log(data);
                $('#showData').html(data);
            },
            error: function(data) {
                alert("fail");
            }
        });
    });
});

路线

Route::post('post', function() {
    if(Request::ajax()) {
        return var_dump(Response::json(Request::all()));
    }
});

【问题讨论】:

  • 您是否尝试过更改网址post tp 其他内容?
  • 如果您收到 500 错误,您可以通过检查 Web 服务器的错误日志找到问题所在。对于 Apache,请检查 /var/log/apache/error.log

标签: php ajax laravel-5


【解决方案1】:

尝试调用 RequestResponse 作为全局外观跟随

Route::post('post', function() {
    if(\Request::ajax()) {
        return var_dump(\Response::json(\Request::all()));
    }
});

如果这不起作用,您能否用完整的 ajax 响应更新您的问题,以便缩小问题范围?

【讨论】:

    【解决方案2】:

    我认为您没有在 html 的 head 标记中添加任何元值,例如

    <meta name="csrf_token" content="{{ csrf_token() }}" />
    

    如果存在 csrf 标签,请尝试修改您的 jax 调用。

    X-CSRF-TOKEN': $('input[name="_token"]').value()
    

    或者,您可以在每个 AJAX 调用中手动获取并传递 _token 隐藏字段的值

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 2015-09-20
      • 2019-12-05
      • 2015-11-22
      • 2020-10-12
      • 1970-01-01
      • 2016-10-30
      • 2018-07-21
      • 1970-01-01
      相关资源
      最近更新 更多