我有一个 JavaScript 数组,我想通过 ajax get 方法将其发送到 Controller 。
我的 JavaScript 看起来像这样:
var requestData = JSON.stringify(commentsArray);
console.log(requestData);
//logs correct json object
var request;
request = $.ajax({
url: "/api/comments",
method: "GET",
dataType: "json",
data: requestData
});
我可以看出我的 requestData
很好,因为我正在记录它并且它看起来是正确的。
并且 Controller 正在被正确访问(我知道这一点是因为我可以在那里记录信息并且我可以返回一个响应,我可以在返回响应后登录我的 View )。
当尝试访问requestData
时,我得到一个空数组。
我的 Controller 函数被调用如下所示:
public function index(Request $request)
{
Log::info($request);
//returns array (
//)
//i.e. an empty array
Log::info($request->input);
//returns ""
Log::info($_GET['data']);
//returns error with message 'Undefined index: data '
Log::info(Input::all());
//returns empty array
return Response::json(\App\Comment::get());
}
我收到的回复很好。
如何访问requestData
?
最佳答案
戴夫在评论中的解决方案有效:
将 ajax 请求更改为:
request = $.ajax({
url: "/api/comments",
method: "GET",
dataType: "json",
data: {data : requestData}
});
关于javascript - 通过 AJAX 发送 JS 数组到 laravel 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440018/