JavaScript错误(未捕获的SyntaxError:意外的input结束)
我有一些JavaScript代码可以在FireFox中使用,但不能在Chrome或IE中使用。
在Chrome的JS控制台,我得到以下错误:
“未捕获的SyntaxError:意外的input结束”。
我使用的JavaScript代码是:
<script> $(function() { $("#mewlyDiagnosed").hover(function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); </script>
它说错误是在最后一行});
添加第二个});
。
正确缩进时,您的代码读取
$(function() { $("#mewlyDiagnosed").hover(function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); MISSING!
你永远不会closures外部$(function() {
。
在我的情况下,我试图parsing一个空的JSON:
JSON.parse(stringifiedJSON);
换句话说,发生了以下事情:
JSON.parse("");
http://jsbeautifier.org/有助于缩进你的缩小的JS代码。;
另外,使用谷歌浏览器,你可以使用“漂亮的打印”。 看下面的示例屏幕截图,显示来自Stack Overflow的jquery.min.js
,很好地从我的浏览器中缩进:)
有点格式化你的代码,你只closures了内部hoverfunction。 你还没有closures外面的部分,下面标记….
$(// missing closing) function() { // missing closing } $("#mewlyDiagnosed").hover( function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); });
在我的情况下,它是一个简单的双引号问题在我的书签 ,记住只使用单引号对bookmarklets。 以防万一这有助于某人。
当我试图写一个JavaScript书签时,我得到了这个错误。 我无法弄清楚是什么原因造成的。 但最终我尝试通过以下网站对url进行url编码: http : //mrcoles.com/bookmarklet/然后错误消失了,所以一定是javascript代码中的某些字符被解释为特殊的URL控制字符。
这个错误主要是由空的返回ajax
调用引起的,当试图parsing一个空的Json
。
要解决这个testing,如果返回的数据是空的
$.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); } } });
我得到了这个,因为我在我的JS中添加了一个文件的评论,这是一个非常尴尬的原因 – 当点击预渲染的VM
文件并捕获错误时,你会发现究竟是什么错误是,在我的情况下,它只是取消注释我正在使用的一些代码。