Javascript Laravel Ajax POST请求不起作用:找到302

Javascript Laravel Ajax POST请求不起作用:找到302,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我正在尝试通过Laravel中的ajax推送一些数据。不幸的是,它不起作用。当我观察网络流量时,我发现: Request Method:POST Status Code:302 Found 我试图从JSGrid中获取数据,这很好。数据对象已填充。我查过了。为了进行测试,我刚刚在控制器中返回了一条短消息。但当我发送邮件请求时,它甚至没有被调用 这是我的密码 Javascript: $.ajaxSetup({ headers: {'X-CSRF-Token': $('meta[name=t

我正在尝试通过Laravel中的ajax推送一些数据。不幸的是,它不起作用。当我观察网络流量时,我发现:

Request Method:POST
Status Code:302 Found
我试图从JSGrid中获取数据,这很好。数据对象已填充。我查过了。为了进行测试,我刚刚在控制器中返回了一条短消息。但当我发送邮件请求时,它甚至没有被调用

这是我的密码

Javascript:

$.ajaxSetup({
    headers: {'X-CSRF-Token': $('meta[name=token]').attr('content')}
});
$('#save_list').click(function (e) {
    e.preventDefault();
    var url = '{{ route("account.save_accounts_to_user") }}';
    var post = {};
    post.account_list = $("#jsGrid").jsGrid("option", "data");

    $.ajax({
        type: "POST",
        url: url,
        dataType: 'JSON',
        data: post,
        cache: false,
        success: function (data, textStatus, jqXHR) {
            console.log(textStatus + " - " + data);
            return data;
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(jqXHR.responseText + textStatus + " - " + errorThrown);
        }
    });
    return false;
});
路线:

Route::post('save_accounts_to_user', ['as' => 'account.save_accounts_to_user', 'uses' => 'AccountController@saveAccountsToUser']);  //ajax request   
控制器:

/**
 * Save all used accounts for a user.
 *
 * @param  \Illuminate\Http\Request $request
 * @return \Illuminate\Http\Response
 */
public function saveAccountsToUser(Request $request)
{
    $response = array();
    $response["status"] = "ok";
    $response["message"] = trans('account.accounts_saved');

    return \Response::json($response);
}
我期望从控制器方法中获取JSON文本作为responsemessage。但是我没有调用想要的方法,而是被重定向了。 我不知道那里发生了什么。没有为该路由分配中间件,这可能是此重定向的原因


您有什么想法吗?

可能是您使用的“X-CSRF-Token”而不是Laravel文档中提到的“X-CSRF-Token”,这里的问题是什么?尝试完全遵循Laravel文档。请参阅下面的链接


毕竟,它是一个outter组的中间件,该组正在重定向请求-。-

添加以下代码:

$.ajaxSetup({
headers: {'X-CSRF-Token': $('meta[name=token]').attr('content')}
});
在此之后:

var url = '{{ route("account.save_accounts_to_user") }}';

在AJAX调用中使用头

例如:

$.ajax({
   type: "POST",
   url: link, // your link
   data: DataObject, // data to pass
   headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
   },
   success: function (result) {
   }
});

我更改了名称,但请求仍被重定向。但我找到了原因=你能在这里提供原因吗?但是为什么这会回答这个问题?@justCarty只是因为我们总是把标题放在ajax begin中,在你的情况下,你把它放在ajax开始之前。
$.ajax({
   type: "POST",
   url: link, // your link
   data: DataObject, // data to pass
   headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
   },
   success: function (result) {
   }
});