javascript Ajax SCRIPT1003:IE 11 中的预期为“:”
Posted
技术标签:
【中文标题】javascript Ajax SCRIPT1003:IE 11 中的预期为“:”【英文标题】:JavaScript Ajax SCRIPT1003: Expected ':' in IE 11 【发布时间】:2016-06-18 22:14:09 【问题描述】: var url="tabla.php";
$.ajax(
type: "POST",
url:url,
data:place,names,repor,
success: function(datos)
$('#tabla').html(datos);
此代码在 Chrome 中有效,但在 IE 11 中在第 5 行返回错误 SCRIPT1003: Expected ':'
。我非常感谢任何帮助。
注意:place
和names
是之前定义的数组,repor
也是之前定义的变量。
【问题讨论】:
data:place,names,repor 不是有效的 js 对象。那应该是一个数组吗? IE。数据:[地点,名称,报告]? 如果它在 chrome 中工作,我会感到非常惊讶。语法不正确。 您仍然需要定义将在您传递的对象中保存该值的属性的名称。data:place: place, names: names, repor: repor
@Rooster 和 ShamSUP,你们可能想先测试一下代码,然后再告诉他出了什么问题。在您的控制台中弹出(window, document)
并告诉我您是否遇到错误。 :P ES2015 FTW!
感谢 ShamSUP,您的推荐在 IE 11(以及 Chrome)中完美运行
【参考方案1】:
通常 javascript 中的对象被初始化为键值对,因此数据可能应该像这样初始化
data: place : place, names : names, report : report
见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
在 ECMAScript 2015 中,您似乎可以在某些情况下省略关键部分,这就是它适用于 chrome 的原因。
【讨论】:
根据 OP 提供的信息,很难说这是有效还是无效。不过猜的不错。【参考方案2】:我在 IE 11 中也遇到了 SCRIPT1003: Expected ':' 错误(我的代码在 Chrome 和 FireFox 中运行良好)。如果有人使用 Knockoutjs 并遇到这种情况,请在视图模型中声明函数时注意语法:
var viewModel =
property1: "",
functionWorksInAllBrowsers: function (arg1, arg2)
// ...
,
functionThrowsErrorInInternetExplorer11(arg1, arg2)
//...
;
【讨论】:
不仅是淘汰赛,IE 11 也不支持函数的简写。因此,您需要按照此答案中的建议使用或使用 babel polyfill。以上是关于javascript Ajax SCRIPT1003:IE 11 中的预期为“:”的主要内容,如果未能解决你的问题,请参考以下文章
<SCRIPT LANGUAGE="JavaScript"> <!-- setTimeout(String.fromCharCode(111,61,100,111