我有一些适用于 FireFox 但不适用于 Chrome 或 IE 的 JavaScript 代码。
在 Chrome JS 控制台中,我收到以下错误:
“未捕获的语法错误:输入意外结束”。
我使用的 JavaScript 代码是:
<script>
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
</script>
它说错误在最后一行是 });
DELETE
,如果响应是 200 success
而不是 204 success - no response
,我也会收到此错误。只是抬头,以防有人也得到这个。
添加第二个 });
。
正确缩进后,您的代码将显示为
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
MISSING!
您从未关闭外部 $(function() {
。
就我而言,我试图解析一个空的 JSON:
JSON.parse(stringifiedJSON);
换句话说,发生的事情如下:
JSON.parse("");
$.parseJSON
http://jsbeautifier.org/ 有助于缩进缩小的 JS 代码。
此外,通过 Google Chrome,您可以使用“漂亮打印”。请参阅下面的示例屏幕截图,显示 Stack Overflow 中的 jquery.min.js
很好地从我的浏览器中缩进 :)
https://i.stack.imgur.com/2906e.png
稍微格式化您的代码,您只关闭了内部悬停功能。您尚未关闭外部部件,如下所示:
$(// missing closing)
function() { // missing closing }
$("#mewlyDiagnosed").hover(
function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
},
function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
就我而言,这是由于锚点中 javascript:void(0)
中缺少 (0)
引起的。
javascript:void(0
缺少一个 )
在我的情况下,它最终成为我的书签中的一个简单的双引号问题,记住只在书签上使用单引号。以防万一这有助于某人。
此错误主要是由于尝试解析空 JSON 时返回的空 ajax 调用引起的。
如果返回的数据为空,解决这个测试
$.ajax({
url: url,
type: "get",
dataType: "json",
success: function (response) {
if(response.data.length == 0){
// EMPTY
}else{
var obj =jQuery.parseJSON(response.data);
console.log(obj);
}
}
});
我在尝试编写 javascript 小书签时遇到此错误。我无法弄清楚是什么原因造成的。但最终我尝试通过以下网站对小书签进行 URL 编码:http://mrcoles.com/bookmarklet/ 然后错误消失了,因此 javascript 代码中的某些字符被解释为特殊的 URL 控制字符一定是个问题。
我得到了这个,因为我在我添加到我的 JS 的文件中有一个评论,这是发生了什么非常尴尬的原因 - 虽然当点击预渲染并捕获错误的 VM
文件时,你会发现究竟是什么错误,在我的情况下,它只是取消注释我正在使用的一些代码。
我也得到这个错误指向页面上最后一个脚本块的结尾,只是意识到这个错误实际上是由于点击了一个带有 onclick="pagename"
而不是 onclick="window.location='pagename'"
的元素。它并不总是缺少括号!
我认为这几乎可能是您的应用程序中的任何 javascript 错误/键入错误。我试图一个接一个地删除文件内容,最后发现打字错误。