Я использую фреймворк MVC.net и сталкиваюсь со странной проблемой с вызовом jQuery ajax.
У меня есть страница, на которой пользователь может ввести сумму, а затем нажать «Далее».Когда они нажимают «далее», я выполняю ajax-вызов на сервер и возвращаю некоторую обновленную информацию через JSON.Это все довольно стандартные вещи.
Однако странность заключается в возвращаемых данных JSON.Переменная data (в обратном вызове) иногда равна нулю, а иногда содержит фактические данные с сервера.Странно то, что действие контроллера всегда вызывается, но возвращаемые данные не всегда превращаются в функцию обратного вызова ajax.Это не имеет никакого отношения к интервалу времени ожидания, так как установка значения не влияет на проблему.
Я часто могу вызвать условие, когда я отлаживаю код действия, но условие не происходит, так какчасто, когда я не отлаживаю.
Кто-нибудь сталкивался с подобной проблемой или есть предложения об обходных путях или других вещах, чтобы исследовать?
var postbackUrl = "/Balance/Add?amt=" + $("#Amount").val();
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: postbackUrl,
data: "{}",
dataType: "json",
success: function (data,status,request) {
$("#x_amount").val(data.x_newBalance)
}
});
ОБНОВЛЕНИЕ: В попытке получитьДля большей ясности я переключил обратный вызов на использование версии с 3 переменными.Во всех случаях статус «успех».Интересно, что с запросом.
Запрос всегда имеет статус 200 и состояние ReadyState 4. Разница с responseBody.Как и следовало ожидать, когда «data» имеет значение null, responseBody имеет значение null, а когда «data» является действительным, тогда responseBody имеет содержимое.
Полагаю, мне нужно выяснить, почему responseBody удаляется.