0

我正在尝试使用 jquery getJSON 函数发出一个 get http 请求。我已经这样实现了......

<script type="text/javascript">
$(function(){
$("#query").keyup(function(event) {
        keyword = $("#query").val();
        $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", showdata );
    });
});
function showdata(data, status) {
    alert(data + ":" + status);
}
</script>

这总是返回 null。我检查了 HTTP 标头,它们也是空的。但如果我直接使用 URL,它会在浏览器窗口中显示 JSON。

我究竟做错了什么?

有人建议我应该使用 JSONP,但在我实际使用的 URL 中,有一些我不想透露的敏感信息,所以我想坚持使用 getJSON。

问候

4

2 回答 2

1

@Reigel - 不,它不在同一个域上。

你的问题是因为同源政策

于 2010-07-27T08:11:28.390 回答
0

正如@Reigel 建议的那样,问题出在同源策略上,所以我决定使用基于服务器的代码创建一个代理,该代码返回正确的 json。

于 2010-07-27T09:14:53.037 回答