【发布时间】:2025-11-24 02:40:01
【问题描述】:
在尝试获取 JSON 时,我的回调函数没有触发。
$.ajax({
type:"GET",
dataType:'json',
url: myLocalURL,
data: myData,
success: function(returned_data) {
alert('success');
}
});
最奇怪的是:
- 我的 JSON 在 JSONlint 上验证
- 这仅在 IE7 上失败...它适用于 Safari、Chrome 和所有版本的 Firefox(甚至在 IE8 中)。如果我使用“错误”,那么它会报告“parseError”......即使它验证了!
我有什么遗漏的吗? IE7 是否不处理某些字符、数据结构(我的数据没有任何非字母数字,但它确实有嵌套的 JSON)?我已经使用了大量其他所有都可以工作的 AJAX 调用(即使在 IE7 中),但除了 THIS 调用。
这里的一个示例数据返回是:(这是一个结构完整的示例,这意味着它只缺少几个第二层字段,但遵循这个确切的层次结构)
{"question":{
"question_id":"19",
"question_text":"testing",
"other_crap":"none"
},
"timestamp":{
"response":"answer",
"response_text":"the text here"
}
}
我完全不知所措。希望有人对正在发生的事情有所了解...谢谢!
编辑 这是我正在使用的最简单的虚拟数据案例的副本......它仍然无法在 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,所以我不认为这是造成的)
有人有其他想法吗?
【问题讨论】:
-
你用的是什么版本的jQuery?
-
这是 jQuery 1.4.1。我知道 1.4.2 已经发布,但它与 qTip(我也在使用的一些不错的 jQuery 工具提示)冲突,并且由于截止日期而时间紧迫。 >
-
那么这个错误一定与
load customfilter有关,您是否尝试使用十六进制编辑器查看生成的 json 以检查其中是否有一些奇怪的值,例如BOM 标记或类似标记