Метод обратного вызова success
вызывается, когда сервер отвечает. Метод $.ajax
устанавливает функцию, которая обрабатывает ответ, вызывая метод обратного вызова success
.
Наиболее вероятная причина, по которой метод success
не вызывается, заключается в том, что ответ от сервера неверен. Метод $.ajax
отправляет значение в строке запроса callback
, которое сервер должен использовать в качестве имени функции в ответе JSONP. Если сервер использует другое имя, функция, установленная методом $.ajax
, никогда не вызывается.
Если сервер не может использовать значение в строке запроса callback
для установки имени функции в ответе, вы можете указать, какое имя функции следует ожидать от сервера методом $.ajax
. Добавьте свойство jsonpCallback
к объекту параметра и установите значение для имени функции, которую сервер использует в ответе.
Если, например, метод $.ajax
отправляет запрос на сервер с помощью URL http://service.mydomain.com/getdata?callback=jsonp12345
, сервер должен ответить примерно так:
jsonp12345({...});
Если сервер игнорирует строку запроса callback
и вместо этого отвечает что-то вроде:
mycallback({...});
Затем вам придется переопределить имя функции, добавив свойство к объекту параметров:
$.ajax({
url: urlOnDiffDomain,
dataType: 'jsonp',
data: {},
success: function(data, textStatus) {
alert('success...');
},
jsonpCallback: 'mycallback'
});