我正尝试在 Laravel 中通过 ajax 推送一些数据。不幸的是,它不起作用。当我查看网络流量时,我发现了这个:
Request Method:POST
Status Code:302 Found
我正在尝试从 JSGrid 获取数据,它工作正常。数据对象已填充。我查过了。为了进行测试,我刚刚在我的 Controller 中返回了一条短消息。但是当我发送 POST 请求时它甚至没有被调用...
这是我的代码
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
Controller :
/**
* 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);
}
我原以为我将从 Controller 方法中获取 JSON 文本作为响应消息。但是相反,我没有调用所需的方法就被重定向了。 我不知道那里发生了什么。没有分配给此路由的中间件,这可能是此重定向的原因。
你有什么想法吗?
最佳答案
毕竟它是重定向请求的外部组的中间件-.-
关于javascript - Laravel Ajax POST 请求不起作用 : 302 found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42426859/