Jsonp回调函数不起作用?我做错了吗?

时间:2011-07-12 23:15:23

标签: javascript json jsonp dashcode

所以我对此完全陌生,但jsonp看起来很简单,我只是想尝试使用dashcode创建一个Web应用程序。我需要将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。正如我所说,我是新手,所以我可能完全错了。

3 个答案:

答案 0 :(得分:0)

您的代码至少可以在Chrome中运行,只需进行一次小调整 - 请参阅http://jsfiddle.net/nrabinowitz/jJTQn/1/

<script type="text/javascript">
function handleResponse(responseJson){
    alert(responseJson.status.text);
}
</script>
<script type="text/javascript"
 src="http://twitter.com/users/Pogue.json?callback=handleResponse"></script>

小调整正在关闭script标记(script标记不能自动关闭,原因我显然对Google太懒了)。将type="text/javascript"扔进去也不会有害。

答案 1 :(得分:0)

您需要确保在外部jsonp调用之前定义了handleResponse函数。

(此外,您的脚本标记无效)

<script>
function handleResponse(responseJson){
  alert(responseJson.status.text);
}
</script>
<script src="http://twitter.com/users/USERNAME.json?callback=handleResponse"></script>

答案 2 :(得分:0)

单击左侧源窗格中的“窗口小部件属性”。在“网络/磁盘访问”下,确保选中“允许网络访问”。如果没有选中此选项,您的窗口小部件将无法发出任何AJAX请求。