2017-01-30 71 views
0

我试图通过先发送它通过ajax接收一个id,然后在laravel中以json格式返回它。由于某种原因,它不工作,也控制台显示我得到这个url的“内部服务器错误”:http://localhost/public/admin/questions/sort返回JSON数据在laravel中使用ajax不起作用

这里有什么可能是错误的?

jQuery代码:

<script> 
      $(document).ready(function() { 
       //alert(url); 
       $('select[name=selector]').change(function() { 
        var quiz_id=$(this).val(); 
       $.ajax({ 
        method: "POST", 
        url: '{{ route('admin.questions.sort') }}', 
        data:{id:quiz_id} 
        }).done(function (msg) { 
         console.log(msg['id']); 
        }) 
       }); 
      }); 
     </script> 

路由文件

Route::post('questions/sort',['uses'=>'[email protected]','as'=>'admin.questions.sort']); 
Route::resource('questions', 'QuestionController'); 

控制器文件

public function sort(Request $request) { 
     $id=$request['id']; 
     return response()->json(['id'=>$id ],200); 
    } 
+0

您应该在ajax成功回调中解析JSON响应。当你获得ajax响应时,使用'msg = JSON.parse(msg)'。 – Manwal

回答

0

您正在尝试获取数据而不是POST。尝试更改您的ajax POST和路由文件中的GET

0

$请求是一个对象,以便访问其作为对象不阵列

public function sort(Request $request) { 
    $id=$request->input('id'); 
    return response()->json(['id'=>$id ],200); 
} 
+0

仍然有500个服务器错误 – user1477731