【发布时间】:2011-02-10 12:11:24
【问题描述】:
你能举一个用jquery读取jsonp请求的非常简单的例子吗?我就是无法让它工作。
【问题讨论】:
你能举一个用jquery读取jsonp请求的非常简单的例子吗?我就是无法让它工作。
【问题讨论】:
这是工作示例:
<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/
【讨论】:
?callback=? 实际上是作为 URL 的一部分发送的,还是只是 jQuery 看到的一种标志并在获取 URL 之前将其剥离?
?p=1&s=50)