Member 13908127 Ответов: 3

Почему AJAX-вызов .CS-метода не работает?


Я использую ajax call codebehind метод не работает.Я новичок,кто-то может помочь?

AjaxTest.код aspx-файл :



функция ShowCurrentTime() {
var uname = document.getElementById("txtUserName").value;
$.Аякс({
тип: "почта",
URL-адрес: "AjaxTest.aspx-и GetCurrentTime",
данные: "{'name':'" + uname + "'}",
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: OnSuccess,
отказ: функция (ответ) {
тревога(ответ);
}
});
}
функция OnSuccess(данные) {
если (данные.д != нуль) {
предупреждение(данные.д);
}
еще {
alert("нулевой объект!");
}
}

AjaxTest.aspx-файл.CS коде :

[System.Web.Services.Атрибутом webmethod]
public static string GetCurrentTime(имя строки)
{
return "Hello" + name + Environment.NewLine + "текущее время: "
+ Датавремя.Сейчас.Метод toString();
}

результат:
верните "нулевой объект!"

Что я уже пробовал:

Я скачиваю разные jquery.js но это бесполезно.

3 Ответов

Рейтинг:
6

MadMyche

Ответ №1 из этого сообщения SO показывает несколько отличий
https://stackoverflow.com/questions/10127937/calling-a-pages-webmethod-from-javascript-on-a-different-page


Ваша проблема, скорее всего, заключается в том, что успех часть вашего метода; вы вызываете отдельную функцию и не даете ей никаких данных для работы.

	success: OnSuccess,
	failure: function (response) { alert(response); }
-- skip down --
function OnSuccess(data) {
	if (data.d != null) { alert(data.d); }
	else { alert("Null object!"); }
}
И первое, что я бы попробовал, - это передать эти данные явно в вашу функцию OnSuccess
	success: OnSuccess(response),
-- OR --
	success: function(response) { OnSuccess(response); },


Из чтения других ответов и комментариев; похоже, что у вас возникли проблемы с аутентификацией. Существует ли требование входа в систему, которое должно быть выполнено?


Member 13908127

Большое вам спасибо!
После изменения redirectmode на off в RouteConfig.cs он работает нормально.

//настроить.AutoRedirectMode = RedirectMode.Постоянный;
настройки.AutoRedirectMode = RedirectMode.Off;

Рейтинг:
2

Anurag Gandhi

Измените его на:

if (data != null) {
alert(data);
console.log(data); // to check what value is returned. or error code. //
}

Я бы предложил посмотреть, что будет дальше data Что такое data.d?


Member 13908127

В 'данных' возврат исключением сообщения "ошибка аутентификации",и данными.д' возвращать undefined

Рейтинг:
1

koklimabc

data: JSON.stringify({"name" : uname}),


Member 13908127

Спасибо,не работает