2013-02-25 108 views
0

我有下面的jQuery获取一个Web服务返回的JSON对象,但我得到一个parsererror大部分时间。

$.ajax({ 
    type: "GET", 
    url: 'scripts/php/fetchProbableDrivers.php', 
    dataType: 'json', 
    data: {'tripId' : tripId }, 
    error: function(e) 
    {  

     alert(JSON.stringify(e, null, 4));         
      }, 
    success: function(drivers){ 
      } 

有人可以帮助我吗?

+0

发布'fetchProbableDrivers.php'返回的JSON。 – yogi 2013-02-25 06:28:33

+0

.php文件里面有什么?也有失踪});在阿贾克斯调用 – 2013-02-25 06:28:42

+0

如果你有时得到它正确和有时错误,错误可能在你传递的数据值(tripId)。检查您的Web服务的此值的条件。 (例如,可能会传递'char'而不是'int') – chandimak 2013-02-25 06:30:39

回答

1

我认为您的json格式存在格式问题。
您可以通过将数据类型更改为“html”并将警报置于成功来检查您的响应..有些事情是这样的。

$.ajax({ 
type: "GET", 
url: 'scripts/php/fetchProbableDrivers.php', 
dataType: 'html', 
data: {'tripId' : tripId }, 
error: function(e) 
{  

    alert(JSON.stringify(e, null, 4));         
     }, 
success: function(strDrivers){ 
     alert(strDrivers); 
     } 


然后复制你的反应和验证从网站http://jsonformatter.curiousconcept.com/

你的回应,我希望用这种方式,你可以很容易地找出格式问题。

+0

嘿,谢谢你,这是一个简单的调试方式,因为事实证明我在JSON响应中得到的所有内容都是“\ n”,但我不确定为什么json_encode() ? – 2013-02-25 07:01:54

+0

老实说,我经过几个小时的搜索后遇到了最好的答案!我正在努力弄清楚错误可能是什么,但现在我只需要移除dataType并检查输出。非常感谢! – dotslash 2014-12-11 10:14:13

+0

感谢您的回复。 – 2014-12-11 16:56:28

0

检查返回的JSON对象fetchProbableDrivers.php
返回的JSON可能存在格式问题。
验证返回的JSON的格式使用http://jsonformatter.curiousconcept.com/

+0

嘿谢谢,因为事实证明我在我的JSON响应中获得的所有内容都是“\ n”,但我不确定为什么json_encode()在php文件中没有考虑到这一点? – 2013-02-25 07:09:48