2017-12-29 29 views
2

' jquery 'ajaxを使用してlaravelコントローラからデータを取得しようとしています。しかし、私はparsererrorを得ています。 laravelのドキュメントによると、私たちはresponse()->json(data)を使用する場合には、自動的に、ヘッダーContent-Type= 'application/json'を設定し、私もアヤックス側で同じヘッダを設定しようとしたが、何のdifference.Iも'jquery' 'aja'xはパーザエラーを発生させ、laravelコントローラからデータを取得中

 contentType:'application/json', 
     dataType: "json", 
     accept:'application/json', 

を試していないが、それらの非が働いていました。ここで私のコードの設定です:

app.js 

var initlides = function() { 
    return $.ajax({ 
     url: _url, 
     contentType:'application/json', 
     dataType: "json", 
     accept:'application/json', 
     success: function (data) { 
      console.log(data) 

     }, 
     error: function (textStatus, errorThrown) { 
      console.log(textStatus, errorThrown) 
     } 
    }); 
}; 



controller.php 

public function index() 
{ 
    echo $section; 
    $carousels= array(); 
    $carousel = Carousel::where('section_name', 'intro')->get(); 
    return response()->json($carousel); 
} 

私は他の同様の質問を検索しましたが、それ以外は参考になりませんでした。助けてください。

+0

はなかったですコントローラがjsonデータを返すかどうかチェックしますか? –

+0

ルートの方法(ポスト/取得/プットなど...)は何ですか? –

+0

はい私はそれがjsonデータとそのGETメソッドを返すことを確認しました – CodeBlooded

答えて

0

response()->json()は、あなたがエラーを取得している理由を、あなたは配列にあなたのコレクションを変換するためにCollection::toArrayメソッドを使用する必要があります配列のみを受け入れます

$carousel = Carousel::where('section_name', 'intro')->get()->toArray(); 
return response()->json($carousel); 

それともだけで実行します。

$carousel = Carousel::where('section_name', 'intro')->get(); 
return $carousel->toArray(); 
+0

番号は動作しませんでした:( – CodeBlooded

+0

あなたのAjaxから 'contentType'と' accept 'ヘッダを削除しようとしました – YouneL

+0

は既に試みました。 3つのヘッダ – CodeBlooded

関連する問題