我有一个带有 Accordion 和一些 javascript 的网站。在 Firefox 中一切正常,但在 IE11 中出现错误
SCRIPT1003: Expected ':'
我将范围缩小到 .js 文件中的这段代码:
var nmArray = new Array();
function saveplayers() {
var x;
for (x=0;x<32;x++) {
var y = "i"+eval(x+1);
nmArray[x]=document.getElementById(y).value;
}
var request = $.ajax({
type: "POST",
url: "savep.php",
data: ({ nmArray }),
cache: false
});
}
错误提示 ({ nmAray })
中的 nmArray 之后应该有一个冒号
如果我取消此功能,我的网站将再次运行。为了进行调试,我删除了我的 HTML,我什至没有调用这个函数。我刚刚包含了 .js 文件。
最佳答案
支持 ES6 的浏览器中的语法 ({nmArray})
是 {nmArray: nmArray}
的快捷方式。 IE11 不支持此功能(基于您收到的错误),因此您必须将其重写为:
data: ({ nmArray: nmArray }),
请注意,在这种情况下,您可以省略包装 ()
data: { nmArray: nmArray },
关于IE11 中的 JavaScript 给我脚本错误 1003,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853903/