Jquery автоматически передает обратный вызов, например, callback=JQuery132123412415235
, и сервер должен возвращать скрипт, вызывающий эту функцию, с данными JQuery132123412415235(data_returned)
, а остальное равно стандартному запросу json
Вы также используете свойства success и error и используете обещание и error(function (data) )
и complete(function (data))
только для ясного кода. Я думаю, что вы должны использовать только один метод. Код такой:
$(document).ready(function () {
var abc = $.ajax({
type: "GET",
url: "http://sd.domain.com/param1=a¶m2=b&output=json",
dataType: "jsonp",
jsonp: false,
cache: false
});
abc.error(function (data, xhr, dat1) {
});
abc.complete(function (xhr, status) {
var data = xhr.responseText;
});
abc.done(data){
//alert(data.people[0].nameFirst); ?????
}
});
Помните, что сервер должен возвращать данные в форме callback_function (data), где data - это объект json, как если бы вы вернулись в стандартном вызове json.