2016-10-20 3 views
0

私はデータベースへのCRUD 挿入に使用Laravel 5.2とAjaxだが正しいが、ときにコンソールJSONエラー

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 

Laravelコードのエラー以下はLaravelレスポンスブラウザ表示:

return response()->json('ok'); 

のjQueryコード:

$.ajax({    
type: type,    
url: my_url,    
data: formData,    
dataType: 'json',    
success: function (data) { 
.... 
error: function(data){// Error...     
var errors = $.parseJSON(data.responseText);     console.log(errors);     
$.each(errors, function(index, value) {      $.gritter.add({       
title: 'Error',       
text: value      
});     
});    
} 

RedyState = 4 STAU s = 200

答えて

2

このエラーに関するすべてのコントローラコードを貼り付けることができますか? jsonの応答を返す前に何もエコーしていないことを確認してください。例えば

Route::get('/', function() { 
    echo "hi"; 
    return response()->json('ok'); 
}); 

それはパースエラーが発生します。

+0

YES !!解決済み... respnce()の前にecho() –

0

Jsonレスポンスでは、何かのようなものを試してみてください。

return response()->json(['status'=>'ok']); 
+0

ありがとうございます。しかし、うまくいきません:( –

+0

あなたの出力はどのように表示されますか? – TimBrownlaw

0

あなたはjavascriptのコードは

$.ajax({ 
    type: type, 
    url: my_url, 
    data: formData, 
    dataType: 'json', 
    success:function (xhr){ 
     var data = xhr.data; 
    }, 
    error: function (error){ 

    } 
}); 

そして、なぜあなたはvar errors = $.parseJSON(data.responseText);を使用しているすべきですか?あなたの応答はいつもjson、noでしょうか?