Я пытаюсь позвонить на Petfinder.com, чтобы получить список наших питомцев. URL-адрес http://api.petfinder.com/shelter.getPets?key=xxxxx&id=CA1469&format=json
URL-адрес, кажется, возвращает штраф JSON. Но когда я пытаюсь сделать вызов, я получаю «ошибку» и код состояния 0. Я пытался использовать jsonp, что приводит к статусу 200, но к ошибке синтаксического анализа. Если я перейду на xml, у меня будет результат статуса 0 и «ошибка».
$.ajax({
url: "http://api.petfinder.com/shelter.getPets?key=xxxx&id=CA1469&format=json",
dataType: "json",
type: "GET",
success: function (data) {
alert("hi");
},
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
Same Origin
в своей консоли? Вы используете IE? Запросы между источниками необходимо отправлять либо в виде JSONP (для которых требуется правильный ответ JSONP), либо с включенным CORS, для которого требуется, чтобы сервер поддерживал CORS, а браузер поддерживал CORS. jQuery не поддерживает CORS в IE ‹ 10. - person Kevin B   schedule 13.02.2013