У меня простой вызов ajax:
$.ajax({url: my_url_here,
dataType: 'text',
success: function(data, textStatus) {
if(textStatus == "success") {
alert('success');
}
else {
alert('fail');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//do stuff
}
});
Если я запускаю это в простом HTML-файле, я получаю предупреждение, как и ожидалось.
Однако, если я запускаю это в одном из моих представлений ASP.NET MVC, ajax работает нормально, но функция обратного вызова никогда не достигается.
Я попытался создать пустую страницу просмотра, на которой ничего нет, кроме jQuery и этого скрипта, чтобы исключить конфликты с моим другим Javascript.
Я вижу запрос в Firebug, и он возвращает ответ 200, как и ожидалось, но он просто не достигает обратного вызова.
Я пытался добавить cache: false
параметр, играл с параметром asynch
, похоже, ничего не получается ...
Есть какие-нибудь подсказки?
EDIT:
Обновил мой jQuery с помощью обратного вызова с ошибкой, как было предложено.
Ошибка обратного вызова достигается на странице просмотра (но не на простой тестовой странице HTML), и я получаю следующее:
XMLHttpRequest.status равен "0"
textStatus "ошибка"
errorThrown равен "undefined"
РЕДАКТИРОВАТЬ 2
Я должен отметить, что запрашиваемый URL-адрес на самом деле ничего не возвращает, я просто пытаюсь увидеть, существует ли он - если я просматриваю URL-адрес в своем браузере, он представляет собой простую текстовую строку. Я использую неправильный подход к этому?
Почему он работает нормально в простом HTML-документе, но не в ASP.NET MVC View? ASP что-то делает с запросами ajax?
РЕДАКТИРОВАТЬ 3
Получается, что я пытался получить доступ к внешнему сайту, что не разрешено.
Кажется странным, что я справлялся с этим из простого тестового HTML-файла и столкнулся с проблемами только при использовании страницы просмотра ...