我有一个JavaScript数组,我想通过ajax get方法发送给控制器。
我的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
很好,因为我正在记录它,而且看起来不错。并且控制器正在正确访问(我知道这一点,因为我可以在此处记录信息,并且可以返回响应,可以在返回响应后在视图中登录)。
尝试访问
requestData
时,我得到一个空数组。我的控制器函数称为:
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
? 最佳答案
Dave在评论中的解决方案有效:
将ajax请求更改为:
request = $.ajax({
url: "/api/comments",
method: "GET",
dataType: "json",
data: {data : requestData}
});