2014-10-05 101 views
0

我得到了與使用jQuery和數據類型的AJAX請求的網頁= JSONjQuery的AJAX JSON parseerror

$.ajax({ 
type: "POST", 
url: 'api/', 
data: post, 
success: function(data) {} 
dataType: 'json', 
error: function(jqXHR, textStatus, errorThrown) { 
    var message = myprint(errorThrown)+myprint(textStatus)+myprint(jqXHR); 
    // myprint is a custom print function 
    alert(message); 
} 
} 

大約1%的時候,我得到了這個警告:

{} 
"parsererror" 
{ 
"readyState": 4, 
"responseText": "{\"results\":[\"TEST1\",\"TEST2\"],\"time\":\"0,123\"}", 
"status": 200, 
"statusText": "OK" 
} 

顯然沒有parseerror。你有什麼想法可以檢查嗎? 謝謝。

+0

你也許不會從PHP /服務器獲取json。 – loveNoHate 2014-10-05 17:55:23

+0

@DOCASAREL響應顯示在'responseText:'行中。它確實看起來像有效的JSON。 – Barmar 2014-10-05 17:58:25

+0

它是否返回正確的JSON響應和錯誤(在不同的時間)完全相同的操作?或者有可能是一些其他函數稱爲服務器端可能導致響應被解析爲一個字符串,而不是JSON? – 2014-10-05 18:03:57

回答

0

錯誤:「shows-json parse error」,意思是:data format response from server incorrect。在客戶端,你設置的dataType是'json',但是到數據響應不是json數據或者可能是xml(我不確定,你應該再次檢查)。

+0

他正在打印來自服務器的響應,因爲它包含在'jqXHR'對象中。 – Barmar 2014-10-05 17:56:53

+0

你在響應文本中看到了一個'<? – Barmar 2014-10-05 17:57:18