2017-03-12 9 views
0

ajaxに問題があります。あるテーブルのすべてのレコードを取得して、このajaxコールがあるようにします。Laravel 5.2 JSONの代わりにHTMLが返される

$('#chooseInvBtn').on('click', function(){ 
      $.ajax({ 
       type: "POST", 
       url : "admin/officer_data", 
       data: { _token: $('#csrf-token').val() }, 
       dataType : "json", 
       success : function(data){ 
        if(Object.keys(data).length > 0) { 


        } 
       }, 
       error : function(xhr, status){ 
        console.log(xhr); 
        console.log(status); 
       } 
      }); 
     }); 

これで、私は200 ok parseerrorを取得します。しかし、jsonのデータ型をhtmlデータ型に変更すると、それ以上エラーは返されません。残念ながら、データを取得するにはjsonが必要です。これは私のコントローラで私が持っているものです:

$officers_list = Officer::all(); 

     //Convert data to array 
     $officers = array(); 

     foreach ($officers_list as $officer) 
     { 
      $officers['OfficerID'] = $officer->OfficerID; 
      $officers['OfficerName'] = $officer->ORank . ' ' . $officer->OFirstName . ' ' . $officer->OMiddleName . ' ' . $officer->OLastName; 
      $officers['Photo'] = isset($officer->OPhoto) ? $officer->OPhoto : ""; 
      $officers['ContactNumber'] = isset($officer->OContactNumber) ? $officer->OContactNumber : ""; 
     } 

     return Response::json($officers); 

これは私が他のajax呼び出しでどのようにしたかです。しかし、今回はなぜエラーがあるのか​​わかりません。

答えて

0

dataType: "json"行を削除してください。 laravelで

、あなたはそれがすでにJSON形式のデータを返すだ意味

return Response::json($officers); //equivalent to 
return response()->json($officers);// 

、やっています。実際にはもう解析する必要はありません。

あなたがあなたのAJAXにdataType: 'json'を追加する必要がある場合

return $officers; 

だ。つまり、Laravelで行う通常ならば。

つまり、単にdataType行を削除してください。私はあなたが行くのが良いと思う。

+0

私はこれを既に試しています。私はちょうど私のモデルをチェックして、ファイルの最後に迷子カンマが見つかりました。このプロセスでajaxを使用しないことにしたので、これがエラーの原因になっているかどうかはわかりません。 –

関連する問題