我正在嘗試使用jquery直接進行遠程json調用。我正在嘗試使用reddit api。 http://api.reddit.com。這將返回一個有效的json對象。jsonp請求不能在Firefox中工作
如果我調用一個本地文件(這是從保存到本地磁盤的網站返回的東西),事情正常。
$(document).ready(function() {
$.getJSON("js/reddit.json", function (json) {
$.each(json.data.children, function() {
title = this.data.title;
url = this.data.url;
$("#redditbox").append("<div><a href=\"" + url + "\">" + title + "</a><div>");
});
});
});
如果我再嘗試將其轉換爲遠程調用:
$(document).ready(function() {
$.getJSON("http://api.reddit.com", function (json) {
$.each(json.data.children, function() {
title = this.data.title;
url = this.data.url;
$("#redditbox").append("<div><a href=\"" + url + "\">" + title + "</a><div>");
});
});
});
它將很好地工作在Safari,而不是Firefox瀏覽器。由於安全性或其他原因,Firefox並未進行遠程調用,因此期待這一點。精細。
在jQuery的文檔,他們說做這樣的(JSONP):
$(document).ready(function() {
$.getJSON("http://api.reddit.com?jsoncallback=?", function (json) {
$.each(json.data.children, function() {
title = this.data.title;
url = this.data.url;
$("#redditbox").append("<div><a href=\"" + url + "\">" + title + "</a><div>");
});
});
});
但是現在停在Safari和Firefox的工作。請求已完成,但服務器返回的內容似乎被忽略。
這是我寫的代碼或服務器返回的內容的問題嗎?我如何診斷這個問題?
編輯更改地址爲真實的地址。
現在我更仔細地閱讀了你的文章的頂部 - 你想要它去api.reddit.com吧? – Jennifer 2008-12-18 13:28:39