私は、ローカルマシンで動作するdataType:jsonを使用してgithubにajax呼び出しを書きましたが、クロスドメインの問題に対処するために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>");
});
}
}
});
私はちょうどdataTypeとJSONを使用しているが、そのJSONPで働いていなかったとき、これは働いていた言ったように。私は印象の下にgithubコールバックに追加されたコールバックパラメータによって指定された何かに包まれた通常のjsonを返信します?callback=?
。 (このパラメータは、データ型はJSONPに変更されjqueryのことで自動的に追加される。をだから私は何とかラッパーを解析するために私の成功の機能を変更する必要がありますか?
あなたのURLが空([])になることは意図的ですか? – j08691
おっと、私は – Jeff
を変更しようとしています - curlを使ってadd?callback = foo - あなたは戻り値のデータがどのように見えるかを見るでしょう。私はちょうど返すものを解析する方法を知らないと思う。 – Jeff