У меня есть вызов Ajax JavaScript (jQuery.ajax), который не выполняет функцию обратного вызова успеха.
$.ajax({
url: target,
contentType: 'application/json; charset=utf-8',
type: 'POST',
// type: 'GET',
dataType: 'jsonp',
error: function (xhr, status) {
alert(status);
},
success: function (result) {
alert("Callback done!");
// grid.dataBind(result.results);
// grid.dataBind(result);
}
});
Я вижу в поджигателе, что запрос отправляется, и корректный результат с точки зрения json возвращается как ожидалось. Что не так?
Много раз я сталкивался с подобными проблемами, и в большинстве случаев причиной был неправильно сформированный json. Попробуйте получить результат в виде текстового типа данных, чтобы понять, в этом ли ваша проблема.
Также я хотел бы спросить, используете ли вы в url параметр типа "&jsoncallback=?", поскольку ваш тип данных - jsonp, а не простой json.
Ваш вызов $. Ajax
с dataType: 'jsonp'
может работать в следующих сценариях:
Если вы вышли из этих двух случаев, вы ничего не можете сделать, так как вы не можете выполнять межсайтовые вызовы XmlHttpRequest.