我有一个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}
});

09-19 21:10