无法获得AJAX请求以从控制器返回数据

时间:2018-12-11 11:41:27

标签: javascript jquery ajax laravel

我有一个带有列表的页面,其中包含许多复选框。当我选中复选框并单击提交时,我希望AJAX请求获取复选框的值,将其粘贴到数组中,然后将该数组发送到我的“ setCourses”方法中,在该方法中,我将使用数组值从中提取数据DB,然后将该数据作为JSON发送回页面。这是我第一次尝试AJAX,对于任何愚蠢的错误,我们深表歉意!

AJAX请求似乎可以正常工作,将数组发送到控制器方法,但是我无法获得成功函数来返回要从控制器发送回的数据。这是我到目前为止的内容:

setCourses方法

    public function setCourses(Request $request) {

    $courses = $request->get('selectedCourses');

    //Here I will use the "$selectedCourses" array above to query the database for specific info,
    //but for now I am just trying to get the AJAX to return anything!

    return response::json($courses);

}

AJAX以获取复选框值,添加到数组并发送请求

    $('.submitCourses').on('click', function(){

    var selectedCourses = $("input:checkbox[name=courseID]:checked").map(function(){
        return $(this).val();
    }).get();

    console.log(selectedCourses);

    $.ajax({
        url: 'report-generator/custom/selected',
        type: 'GET',
        data: { selectedCourses: selectedCourses },

        success:function(courses){

          console.log(courses);
        }
    });

});

2 个答案:

答案 0 :(得分:0)

尝试这个

  

要进行更改,请使用辅助功能代替外观

return response()->json($courses);

答案 1 :(得分:0)

var obj = { selectedCourses: selectedCourses };

$.get('/eport-generator/custom/selected', obj,
  function (response) { console.log(response);}
).fail(function () {
   console.log("error");
});