ajax投掷错误与正确的结果

我有以下function:

side= 'car'; var request_checkUrl = '/antibot/antibot_data?script=' + side; $.ajax({ url: request_checkUrl, dataType: 'application/json', complete: function(data){ alert("running.."); }, success: function(data){ alert("success"); }, error: function(data) { alert("ERROR"); console.log(data); } }) 

结果是:带有ERROR的框和运行。 它还在控制台日志中显示:

在此处输入图像描述

在此处输入图像描述

答案是正确的。 但是,为什么这段代码会抛出错误信息,什么时候应该成功呢?

我也试过get,getjson,ajax和数据类型json等等。但我得到了相同的结果。

我在这做错了什么?

编辑:

这是完整的回复:

 { "status": 200, "data": { "text": "en TV", "images": [ { "hash": "47a32df0c4b1f0b522e5faf35a46aacd95fe0ed4", "file": "ABImage_plane_1" }, { "hash": "e11f83f4411364546329c8a8bf88da0dffd27029", "file": "ABImage_house_2" }, { "hash": "93b4454ac09e7d7478fa2d25322e0e784370ea7a", "file": "ABImage_car_5" }, { "hash": "36fac21a830b922edb507487d833556aeb9688f7", "file": "ABImage_clock_4" }, { "hash": "cd1df47e052a5d0d50dab61b3e716339be0c6e68", "file": "ABImage_TV_3" }, { "hash": "59e7f70b7874a500e576e25077adf254c52f5ee8", "file": "ABImage_train_4" } ] } } 

EDIT2:

这是我使用服务器端PHP的function

 echo $this->framework->ajaxJSONResponse(200, $data); 

  function ajaxJSONResponse($status, $data) { header('Content-type: application/json'); $response = array(); $response['status'] = $status; $response['data'] = $data; return json_encode($response); } 

编辑:即时通讯使用jquery 2.1.3

  

编辑:我也尝试过:

 $.ajax({ url: request_checkUrl, type: "GET", dataType: "json", // "xml", "json" success: function (data) { alert("success"); alert(data); }, error: function (jqXHR, textStatus, ex) { alert(textStatus + "," + ex + "," + jqXHR.responseText); } }); 

输出错误:

在此处输入图像描述

再次更新:

我尝试使用以下urlvalidationurl: http : //www.freeformatter.com/json-validator.html

得到了:

 The JSON input is NOT valid according to RFC 4627 (JSON specification). Unexpected token {"status":200,"data":{"text":"en TV","images":[{"hash":"47a32df0c4b1f0b522e5faf35a46aacd95fe0ed4","file":"ABImage_plane_1"},... 

但如果我启用:

接受非引用的名称

我得到:

 The JSON input is valid according to RFC 4627 (JSON specfication). 

我怎么能按照我的要求做这个工作呢?

以下答案只是尝试帮助解决可能的问题。

尝试将代码修改为以下内容:

 var side = 'car'; var request_checkUrl = '/antibot/antibot_data?script=' + side; $.ajax({ url: request_checkUrl, type: "GET", dataType: 'json', beforeSend: function () { document.title = "Running..."; }, success: function (data) { document.title = "Success."; alert("success"); }, error: function (data) { alert("ERROR"); console.log(data); } }); 

让我知道这个是否奏效。

更新:

在上次更新中,您将收到无效的json。 从PHP开始,您需要始终打印有效的json。 您可以使用此链接validation您的json输出: http : //pro.jsonlint.com 。

parsererror, SintaxError: Unexpected token :这意味着,你在php代码中出错了。