ajax – IE7没有消化JSON:“解析错误”

前端之家收集整理的这篇文章主要介绍了ajax – IE7没有消化JSON:“解析错误”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在尝试获取JSON时,我的回调函数没有触发.

$.ajax({
    type:"GET",dataType:'json',url: myLocalURL,data: myData,success: function(returned_data) { 
        alert('success');
    }
});

最奇怪的部分是:

>我的JSON(s)在JSONlint上验证
>这只能在IE7上失败…它可以在Safari,Chrome和所有版本的Firefox中运行(甚至在IE8中).如果我使用’错误’,那么它会报告“parseError”…即使它验证了!

有什么我想念的吗? IE7是否不处理某些字符,数据结构(我的数据没有任何非字母数字,但它有嵌套的JSON)?我已经使用了大量其他AJAX调用(即使在IE7中),但是除了这个调用之外.

这里返回的示例数据是:(这是一个结构完整的示例,意味着它只缺少一些第二层字段,但遵循这个确切的层次结构)

{"question":{
             "question_id":"19","question_text":"testing","other_crap":"none"
            },"timestamp":{
              "response":"answer","response_text":"the text here"
              }
}

我完全不知所措.希望有人能够了解正在发生的事情……谢谢!

编辑
这是我正在使用的虚拟数据的SIMPLEST案例的副本……它仍然在IE7中不起作用.

{
  "question":{
         "question_id":"20","question_text":"testing :","adverse_party":"none","juris":"California","recipients":"Carl Chan"
         }
}

我开始怀疑这是一个JSON问题……但我不知道它还能是什么.以下是我发现的其他资源可能是原因,但它们似乎也不起作用:
http://firelitdesign.blogspot.com/2009/07/jquerys-getjson.html(Django默认使用Unicode,所以我认为这不会导致它)

有人还有其他想法吗?

最佳答案
你提供的示例数据看起来没问题,但我强烈怀疑的是,这里有一个未封闭的逗号:

 "timestamp":{
              "response":"answer","response_text":"the text here"
              },<------------
}

IE是唯一(正确)浏览此浏览器的浏览器.

如果不是这样,您是否可以显示完整的数据样本(或确认您显示的示例确实是完整样本)?

猜你在找的jQuery相关文章