Я пытаюсь работать с JSONP API в разных доменах. Это пример данных, которые он возвращает:
photos({"marker":{"@attributes":{"id":"30601","latitude":"52.638061","longitude":"-2.117067","feature":"3","caption":"cat","thumbnailSizes":"60|120|150|180|200|250|300|350|400|400|425|450|500|640"}}});
Как я могу создать Ajax-вызов, который использует эти данные? Я продолжаю получать сообщения об ошибках.
Это то, что я сейчас пытаюсь:
$.ajax({
url: pm_url,
data: {},
type: "get",
dataType: "jsonp",
cache: false,
success: function(data) {
console.log(data);
},
error: function() {
alert('Sorry, there was a problem getting the photos!');
}
В Firebug я вижу, что данные выше извлекаются, но затем я вижу сообщение об ошибке.
Что не так с запросом? (Или данные - хотя они проверяются как JSONP.)
UPDATE:
Спасибо за предложения. Я сейчас пытаюсь:
var photos = function (data) {
alert(data);
};
$.ajax({
url: pm_url,
dataType: 'jsonp',
jsonpCallback: 'photos',
});
Это, как ни странно, вызов двух URL в Firebug:
http://myapi.com/file.jsonp?x=1&y=2?callback=?
http://myapi.com/file.jsonp?x=1&y=2?callback=photos&_=1304982373561
Первый URL-адрес отображается в консоли как ошибка. Что я делаю не так?!
Возможно, что сам API неверен (им требуется суффикс .jsonp и игнорируется значение обратного вызова, поэтому имя функции фиксировано), но я надеялся, что смогу обойти его.