我知道我不是第一个收到此错误的人,而且Stack Overflow上有很多其他帖子可以解决此错误。但是,我找不到解决方案,因此,写下这个问题。
我比较新鲜,最近开始用HTML5学习JSON,jQuery和JavaScript。所以,我想用下面的基本例子来做一些事情。
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script>
debugger;
</script>
<title>Doc Title</title>
</head>
<body>
<p id="rssFeed">News Loadin...</p>
<script>
debugger;
var yQuery = 'http://news.google.com/news?geo=02138&output=rss';
var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent("select * from xml where url='" + yQuery + "'") + '&format=json&callback=?';
debugger;
(function(){
debugger;
$.getJSON(yql)
debugger;
.done(function(data){
debugger;
$.each(data.query.results.item, function(i,item){
alert(item.link);
});
});
})();
</script>
</body>
</html>
此HTML文件位于我的本地计算机上,我正在Chrome浏览器中对其进行测试。我在浏览器中看到的唯一内容是“新闻加载...”文字。我没有得到任何警报(来自警报(item.link);)。
我尝试在Chrome(F12)中调试此代码,并在代码中添加了一些“调试器”。在调试窗口中,我在行Uncaught SyntaxError: Unexpected token .
.done(function(data)
错误
对于URL,我已经尝试了在Stack Over流程上针对同一错误的其他答案所建议的两个选项。
yql将具有以下值:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Fnews.google.com%2Fnews%3Fgeo%3D02138%26output%3Drss'&format=json&callback=cbfunc
如果我将yql
与'cbfunc'
放在浏览器网址中,我会获得JSON,如果我放'?'
我会收到错误。
但是,当我加载HTML时,它们都不起作用,我得到两个错误Uncaught SyntaxError: Unexpected token
。
我注意到的另一个问题是,每当我在Chrome中打开此文件时,调试器只会停留在debugger
<script>
元素下的<head>
中的第一个debugger
。它不会停留在<body>.
中的任何<body>
语句中。即使我在Chrome开发工具中设置了断点(通过选择行号),也会发生这种情况。它不会停留在{{1}}元素中。
我对这些东西很陌生,所以请原谅我这里的任何愚蠢错误。
此致 Rumit
答案 0 :(得分:1)
在您的代码中
$.getJSON(yql)
debugger; // <<== remove this line
.done(function(data){
在.done()
上调用 $.getJSON(yql)
,您的debugger
语法错误
答案 1 :(得分:0)
删除'调试器;'在.done(..)之前的那一行。 从$ .getJSON(yql)...
返回的对象上调用.done(..)