带有jquery的jsonp [关闭]

Posted

技术标签:

【中文标题】带有jquery的jsonp [关闭]【英文标题】:jsonp with jquery [closed] 【发布时间】:2011-02-10 12:11:24 【问题描述】:

你能举一个用jquery读取jsonp请求的非常简单的例子吗?我就是无法让它工作。

【问题讨论】:

【参考方案1】:

这是工作示例:

<html><head><title>Twitter 2.0</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head><body>
<div id='tweet-list'></div>
<script type="text/javascript">
$(document).ready(function() 
    var url =  "http://api.twitter.com/1/statuses/user_timeline/codinghorror.json";
    $.getJSON(url + "?callback=?", null, function(tweets) 
        for(i in tweets) 
            tweet = tweets[i];
            $("#tweet-list").append(tweet.text + "<hr />");
        
    );
);
</script>
</body></html>

请注意所请求 URL 末尾的 ?callback=?。这表明我们要使用 JSONP 的 getJSON 函数。删除它,将使用一个普通的 JSON 请求。由于same origin policy,这将失败。

您可以在 JQuery 网站上找到更多信息和示例:http://api.jquery.com/jQuery.getJSON/

【讨论】:

我正在尝试使用这些 jsonp 参数的 $.ajax,但无法使其正常工作。无论如何,这很好用,谢谢。 ?callback=? 实际上是作为 URL 的一部分发送的,还是只是 jQuery 看到的一种标志并在获取 URL 之前将其剥离? 如果你的 URL 需要参数,需要做什么? (例如:?p=1&amp;s=50 我发现这是一个很好的参考作为起点。回答上面的问题:是的,回调确实作为参数发送,应该作为包裹在 JSON 响应中的函数发送回来。见***.com/questions/7936610/…。为了发送额外的参数,它们在 getJSON() 的第二个参数中发送,在上面的例子中。将 null 替换为 p:1,s:50 我收到错误代码 410 - 消失了。是否有“永远”存在的服务在任何地方返回 JSON?是否可以测试自己的方法是否有效?

以上是关于带有jquery的jsonp [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

带有jquery的鱼眼菜单? [关闭]

无法在外部单击时关闭带有动态内容的引导弹出窗口 - jquery

带有多个子菜单下拉菜单的 jQuery 导航菜单关闭父菜单项

使用 jquery 或 javascript 选择第一个带有类的 td [关闭]

将 jsonp 转换为 json [关闭]

带有图形绘制的股票市场(PHP Jquery 或任何)[关闭]