Я использую jQuery версии 1.5.1 для выполнения следующего вызова ajax:
$.ajax({
dataType: 'jsonp',
data: { api_key : apiKey },
url: "http://de.dawanda.com/api/v1/" + resource + ".json",
success: function(data) { console.log(data); },
error: function(jqXHR, textStatus, errorThrown) { console.log(errorThrown); console.log(textStatus); }
});
Сервер отвечает допустимым объектом json:
{
"response": {
"type":"category",
"entries":1,
"params":{
"format":"json",
"api_key":"c9f11509529b219766a3d301d9c988ae9f6f67fb",
"id":"406",
"callback":"jQuery15109935275333671539_1300495251986",
"_":"1300495252693"
},
"pages":1,
"result":{
"category":{
"product_count":0,
"id":406,
"restful_path":"/categories/406",
"parent_id":null,
"name":"Oberteile"
}
}
}
}
Но обратный вызов успеханикогда не вызывается, вместо этого обратный вызов ошибки создает такой вывод:
jQuery15109935275333671539_1300495251986 was not called
parsererror
Почему это происходит?
Я не использую дополнительные библиотеки для jQuery.
РЕДАКТИРОВАТЬ:
Если я попытаюсь сделать вызов ajax с «json» в качестве dataType вместо «jsonp», сервер ответит пустой строкой.