Jsonp回调函数不起作用?我这样做错了吗?
所以我对此完全陌生,但 jsonp 看起来很简单,我只是想使用 dashcode 制作一个网络应用程序。我需要将 twitter json 数据放在我的网络应用程序的页面上。这就是我尝试过的。
我将此代码放入 index.html
<script src="http://twitter.com/users/USERNAME.json?callback=handleResponse"/>
然后创建了一个 javascript 文件
function handleResponse(responseJson){
alert(responseJson.status.text);
}
当我将 javascript 文件作为数据源时,出现错误,指出它不是有效的 JSON 或 XML。正如我所说,我对此很陌生,所以我可能做得完全错误。
So I'm totally new to this, but jsonp seemed so simple, I'm just trying to make a web app using dashcode. I need to put twitter json data on a page of my web app. This is what I tried.
I put this code in index.html
<script src="http://twitter.com/users/USERNAME.json?callback=handleResponse"/>
Then I created a javascript file
function handleResponse(responseJson){
alert(responseJson.status.text);
}
When I put the javascript file as the datasource I get an error saying it is not valid JSON or XML. As I said I am new to this, so I might be doing it completely wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的代码至少在 Chrome 中可以工作,只需进行一点小小的调整 - 请参阅 http://jsfiddle.net/nrabinowitz /jJTQn/1/
这个小调整是正确关闭
script
标签(script
标签不能自动关闭,因为我显然也是懒惰 谷歌)。将type="text/javascript"
也扔在那里也没什么坏处。You code works, at least in Chrome, with one small tweak - see http://jsfiddle.net/nrabinowitz/jJTQn/1/
The small tweak is closing the
script
tag properly (script
tags can't be self-closing, for reasons I'm apparently too lazy to Google). Wouldn't hurt to throwtype="text/javascript"
in there too.您需要确保在外部 jsonp 调用之前定义了handleResponse 函数。
(而且你的脚本标签无效)
You need to make sure the handleResponse function is defined before the external jsonp call.
(Also your script tag is invalid)
单击左侧源窗格中的“小部件属性”。在“网络/磁盘访问”下,确保选中“允许网络访问”。如果不进行此项检查,您的小部件将无法发出任何 AJAX 请求。
Click on “Widget Attributes” in the left-hand source pane. Under “Network / Disk Access”, make sure that “Allow Network Access” is checked. Without this checked your widget won’t be able to make any AJAX requests.