Итак, я написал ajax-вызов в github, используя dataType: json, который работал на моей локальной машине, но, похоже, мне нужно использовать dataType: jsonP для решения междоменных проблем.Так может кто-нибудь помочь мне внести необходимые изменения.(Кстати, github поддерживает jsonp dataTypes - https://github.com/pgxn/pgxn-api/wiki/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=?
. (Этот параметр автоматически добавляется jquery при изменении dataType на jsonp. Так что мне нужно каким-то образом изменить мойФункция успеха для анализа через оболочку?