Во-первых, я предполагаю, что это должно быть Object.all
Я предполагаю, что сервер, с которого вы запрашиваете, отличается от сервера, который предоставляет вам данные JSON.то есть разные порты в этом случае или я не вижу необходимости использовать JSONP.
JSONP не является ajax, но использует атрибуты src в тегах сценария.Если вы пытаетесь получить доступ к информации с того же сервера, то dataType: json
должен быть подходом.
Если вы выбираете информацию с другого сервера, я предлагаю добавить в конец вашего потока URL ?callback=?
.
С Jquery $ .getJSON должен быть подходящим вариантом.Например
$.getJSON(url, data, function(response){<br>
// Do something with response;
});
Ссылка http://api.jquery.com/jQuery.getJSON/
Применительно к вашему последнему комментарию используйте этот формат.
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
{
tags: "cat",
tagmode: "any",
format: "json"
},
function(data) {
$.each(data.items, function(i,item){});
});
Обновление Только что вспомнил этот бит. Если у вас есть контроль над обоими серверами, отправляете ли вы ответы JSONP?Если это ваши данные JSON
response = { status:'success', message:'Successfully created object'}
Чтобы отправить их как JSONP, вы должны заключить их в функцию ().Например,
jsoncallback + "(" + JSON.stringify(response) + ");";
. Он выполняет функцию, сгенерированную Jquery (это делается внутренне при задании обратного вызова =?. Вы можете получить значение, проверив localhost: 3001 logs) и передавая данные JSON какпараметры к этому.
Так что, если на стороне сервера вы не генерируете ответ JSON-P, он не будет работать.