javascript Ajax SCRIPT1003:预期为';:';在IE 11中
此代码在Chrome中工作,但在IE 11中,第5行返回错误javascript Ajax SCRIPT1003:预期为';:';在IE 11中,javascript,ajax,internet-explorer,cross-browser,internet-explorer-11,Javascript,Ajax,Internet Explorer,Cross Browser,Internet Explorer 11,此代码在Chrome中工作,但在IE 11中,第5行返回错误SCRIPT1003:Expected':'。我真的很感激任何帮助 注意:place和name是以前定义的数组,repor也是以前定义的变量。通常javascript中的对象被初始化为键值对,所以数据应该像 var url="tabla.php"; $.ajax({ type: "POST", url:url, data:{place,names,repor}, success: function(d
SCRIPT1003:Expected':'
。我真的很感激任何帮助
注意:
place
和name
是以前定义的数组,repor
也是以前定义的变量。通常javascript中的对象被初始化为键值对,所以数据应该像
var url="tabla.php";
$.ajax({
type: "POST",
url:url,
data:{place,names,repor},
success: function(datos){
$('#tabla').html(datos);
}
看
在ECMAScript 2015中,似乎在某些情况下可以忽略关键部分,这就是它在chrome上工作的原因。我在IE 11中也出现了SCRIPT1003:Expected':'错误(我的代码在chrome和FireFox中工作得很好)。如果有人使用Knockoutjs并遇到这种情况,请在视图模型中声明函数时注意语法:
data:{ place : place, names : names, report : report }
数据:{place,names,repor}不是有效的js对象。这应该是一个数组吗?例如:数据:[地点、名称、报告]?如果这在chrome中起作用,我会非常惊讶。这在语法上是不正确的。您仍然需要定义将在正在传递的对象中保存该值的属性的名称<代码>数据:{place:place,names:names,repor:repor}@Rooster and ShamSUP,你们可能想在告诉他出了什么问题之前测试一下代码。在控制台中弹出
({window,document})
,如果出现错误,请告诉我:P ES2015 FTW!感谢ShamSUP,你的建议在IE 11(以及Chrome)中完美运行。根据OP提供的信息,很难说这是有效的还是无效的。不过猜对了。不仅仅是淘汰赛,IE11也不支持函数的速记。因此,您需要按照本答案中的建议使用或使用babel polyfill。
var viewModel = {
property1: "",
functionWorksInAllBrowsers: function (arg1, arg2) {
// ...
},
functionThrowsErrorInInternetExplorer11(arg1, arg2) {
//...
}
};