2014-10-05 96 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