所以我寫了一個使用dataType的json調用github:json,它在我的本地機器上工作,但似乎我需要使用dataType:jsonP來處理跨域問題。所以任何人都可以幫助我做出必要的改變。 (順便說一句github上似乎支持JSONP數據類型 - https://github.com/pgxn/pgxn-api/wiki/JSONP)jquery jsonp和了解如何回調工作
$.ajax({
url: "https://api.github.com/repos/jeffreycwitt/prollecture1/tags",
dataType: "jsonp",
crossDomain: true,
success: function(returndata) {
if (returndata.length === 0) {
$("#versionBox").remove();
}
else if (returndata.length === 1) {
$("#versionBox").remove();
}
else {
$.each(returndata, function() {
$("#versionBox").show();
var tag = this["name"];
console.log(tag);
var currentVersion = $("#editionNumber").text();
if (tag.substring(1) === currentVersion) {
tag = tag + " (Current Version)";
}
var linkname = "textdisplay.php?flag=<?php echo $fs; ?>&ed=" + tag;
$('#versionSubBox').append("<p><a href='" + linkname + "'>View Version: " + tag + "</a></p>");
});
}
}
});
就像我說的,這時候我只是用數據類型JSON,但它不是用JSONP工作是工作。我在印象之下github將發送回常規json包裝在由呼叫?callback=?
添加到回調參數指定的東西。 (此參數時,數據類型更改爲JSONP jQuery的自動添加。所以我需要以某種方式修改我的成功函數通過包裝來分析?
是否有意讓您的網址返回空([])? – j08691 2012-01-18 18:03:45
哎呀,不,我會改變 – Jeff 2012-01-18 18:12:09
現在嘗試它 - 也如果使用curl和add?callback = foo - 你會看到什麼樣的返回數據。我想我只是不知道如何解析什麼返回 – Jeff 2012-01-18 18:14:43