我一直在使用一些java脚本,确切地说是JQuery,我在IE9中遇到了Ajax调用的一些问题,一切正常,在Firefox4中我没有错误,但是当我运行脚本时我在IE9控制台中没有错误得到以下错误
SCRIPT5009: 'JSON' is undefined
FeedbackComment.js, line 49 character 17
代码非常简单和标准
$.ajax({
type: "POST",
url: defaults.WebServiceURL,
data: "{ 'collectedFeedback':" + JSON.stringify(collectedFeedback) + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
}
});
还有代表收集的反馈的场景和类背后的web服务。但问题似乎与他们无关。
我不确定发生了什么,有人可以帮助我。 提前致谢
答案 0 :(得分:4)
只想添加一下,如果您在IE中并且默认为怪异模式或IE 7或更早版本的兼容模式,则JSON将不可用。
答案 1 :(得分:0)
任何时候我遇到IE 7,8或9的问题,我检查的第一件事是charset并确保它被强制为utf-8。对此非常挑剔。
要注意的另一件事是内容类型标题。确保它是正确的,并与您发回的响应相匹配。它也倾向于挑剔。
因此,例如,如果您正在制作ajax请求并期望获得json响应,则应将content-type设置为'application / json;字符集= UTF-8;”。如果您正在制作ajax请求并希望将html作为您的回复,那么您的内容类型应设置为'text / html;字符集= UTF-8;”
希望这可以帮助某人,因为它有我。
答案 2 :(得分:0)
我有这个问题。代码在某些页面上工作,而不是其他页面。感谢" Rocket Hazmat"上面,我能够识别出刚刚需要的页面:
<!DOCTYPE html>
在顶部。没有它,JSON对象就不存在了! IE的行为就像古代历史中的东西。难怪微软会在新浏览器上重新启动这个代码库。