javascript – Chrome返回“SyntaxError:Unexpected token”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Chrome返回“SyntaxError:Unexpected token”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2168字,纯文字阅读大概需要4分钟。
内容图文
![javascript – Chrome返回“SyntaxError:Unexpected token”](/upload/InfoBanner/zyjiaocheng/778/5cf0fa50a2e64b969ecf1c03a1bcfe70.jpg)
好吧,这个问题已被频繁查询,并在很多变化中,但仍然没有找到任何可以从这种折磨中赎回我的答案.
我的代码适用于Safari,Internet Explorer v.8.但是,Chrome会抛出“SyntaxError:Unexpected token”消息 – 仅在特定组合中(它是关于链接的).
以下是我从ASP(经典)页面返回的JSON.它适用于99%的输入,但对于以下JSON文本,它会抛出错误:
{"queryStatus":"Not_Empty", "printID":["50674","54648","50437","37564","37566","37565","49124","null"], "printName":["BBB-12312313","BBB-1558","BBB-2-065 + 2-066","BBB-2-217","BBB-2-217b","BBB-2-226/2-217b ","BBB-2-5961b","null"]}
现在,我的JS代码如下:
$.ajax({
type: "GET",
url: "callbacks/xmlHTTPRequestGetPrintItems.asp?LabelID=" + $("#LicenseLabel").val() + "&RequestType=0",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data, textStatus, jqXHR) {
if (data.queryStatus == "Not_Empty") {
for (i = 0; i < data.printID.length - 1; i++) {
$('#ApprovalItem').append($('<option>', { value: data.printID[i] }).text(data.printName[i]));
}
}
},
error: function (xhr, ajaxOptions, thrownError) { alert(thrownError); }
});
结果:“SyntaxError:意外的令牌”
这是我尝试过的:
>更改“contentType”/删除它,$.ajax选项和服务器端页面的响应;
>寻找特殊人物 – 什么都没有;
>拉出对象末尾的“空”字符串;
我已经读过可能从数据库中检索到的零宽度间距(可能是Unicode-200B?),但我还没有设法解决它.
再次 – 它可以在Chrome上运行99%的输入,在IE 8上它可以100%运行.
非常感谢协助,欢呼.
解决方法:
这可能有效,也可能无效.我无法用上述信息重现这个问题,这显然很难帮助你,但这是我的第一个建议……
$.ajax({
type: "GET",
url: "callbacks/xmlHTTPRequestGetPrintItems.asp?LabelID=" + $("#LicenseLabel").val() + "&RequestType=0",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "text",
async: false,
success: function (data, textStatus, jqXHR) {
data = JSON.parse(data);
if (data.queryStatus == "Not_Empty") {
for (i = 0; i < data.printID.length - 1; i++) {
$('#ApprovalItem').append($('<option>', { value: data.printID[i] }).text(data.printName[i]));
}
}
},
error: function (xhr, ajaxOptions, thrownError) { alert(thrownError); }
});
我所做的就是将dataType指定为文本而不是JSON,然后在返回时使用JSON.parse().它至少会确定错误是调用还是响应(但我想我们已经知道了).
内容总结
以上是互联网集市为您收集整理的javascript – Chrome返回“SyntaxError:Unexpected token”全部内容,希望文章能够帮你解决javascript – Chrome返回“SyntaxError:Unexpected token”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。