gpt4 book ai didi

javascript - IE7 JSON 响应 : Object Expected. 。适用于 Chrome 和 FireFox

转载 作者:行者123 更新时间:2023-11-29 14:59:41 25 4
gpt4 key购买 nike

这是在我可以将我心爱的 webapp 投入使用之前我必须做的最后一件事,但是当然 IE7 对我来说很难!!

我正在使用 JQuery 表单插件将数据上传到我的服务器。然后 servlet 类将对该文件运行一些操作并将一些 JSON 返回给客户端。与往常一样,Chrome 和 Firefox 处理响应的方式非常出色,并为我提供了我期望的输出。

Internet Explorer 7 没有。我收到“预期对象”错误...。我已将我的问题缩小到一个函数。我有根据地猜测 IE7 没有正确处理响应,但我真的不知道。这是导致问题的实际代码:

function uploadScript() {

$("#uploadScript").ajaxSubmit({
beforeSend: function() {

$("#uploadScript").attr("disabled", true);

},
dataType: "json",
cache: false,
success: function(response, status, xhr) {
if(response != undefined) {
commandArray = ([]).concat(response.command);
paramsArray = ([]).concat(response.params);
IDArray = ([]).concat(response.id);
commandID = response.commandID;
updateScriptView();
}

}
})

}

我已经尝试将响应 header 内容类型显式设置为“application/json”,但无济于事。我什至在某处读到这样的标题甚至会导致 IE 出问题,所以前面肯定很困惑。

也许是 JSON 语法?没有!我检查了它,仔细检查了它,然后通过 JSONLint 运行它只是为了确定。

对我做错了什么有什么想法吗?

编辑:JSON 响应字面上是这样的:

{ "command" : ["sequential","wait","tune","endsequential"],"params" : [["5"],["00:00:03"],["202","RA29B[*]"],["100000"]],"id" : [100000,100002,100003,100001],"commandID" : 100004}

眼睛友好的是这样的:

{
"command": [
"sequential",
"wait",
"tune",
"endsequential"
],
"params": [
[
"5"
],
[
"00:00:03"
],
[
"202",
"RA29B[*]"
],
[
"100000"
]
],
"id": [
100000,
100002,
100003,
100001
],
"commandID": 100004
}

已回答! 显然,我在 ajaxSubmit() 的 beforeSend 选项中调用 $.attr() 导致了 IE7 中的问题。我不知道为什么会这样,而且我的谷歌搜索没有结果(必须谷歌正确的问题才能得到正确的答案)。无论如何,删除此代码块解决了我的问题。我感谢所有给予我的帮助。谢谢大家!

最佳答案

看起来您正在使用 malsup 插件。如果是这种情况,那么 git 仓库有一些关于这个插件的已知问题:

https://github.com/malsup/form/issues

检查您的问题是否已报告。还要检查你的 jQuery 版本

这是给你的:https://github.com/malsup/form/issues/179

关于javascript - IE7 JSON 响应 : Object Expected. 。适用于 Chrome 和 FireFox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com