Получение ошибки «401 Unauthorized» в соответствии с вызовом jquery к webmethod
Я изо всех сил пытался заставить мой вызов jquery обратиться к веб-методу. Сервер получает ответ «401 Unauthorized». У меня должна быть неправильная настройка в файле web.config или где-то еще, что мешало бы успешному вызову.
Ваше понимание ценится!
Вызов функции js вызывает вызов jquerybutton.OnClickAction = "PageMethod('TestWithParams', ['a', 'value', 'b', 2], 'AjaxSucceeded', 'AjaxFailed'); return false;";
Функция JavaScript, которая делает вызов jqueryfunction PageMethod(fn, paramArray, successFn, errorFn) {
var pagePath = window.location.pathname;
var urlPath = pagePath + "/" + fn;
//Create list of parameters in the form:
//{"paramName1":"paramValue1","paramName2":"paramValue2"}
var paramList = '';
if (paramArray.length > 0) {
for (var i = 0; i < paramArray.length; i += 2) {
if (paramList.length > 0) paramList += ',';
paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
}
}
paramList = '{' + paramList + '}';
//Call the page method
$.ajax({
type: "POST",
url: pagePath + "/" + fn,
contentType: "application/json; charset=utf-8",
data: paramList,
timeout: 10000,
dataType: "json",
success: function(result) { alert('Overjoyed'); },
error: function(result) { alert('No joy'); }
});
}
Веб-метод на странице public partial class WebLayout : System.Web.UI.Page
{
[WebMethod()]
public static int TestNoParams()
{
return 1;
}
[WebMethod()]
public static string TestWithParams(string a, int b)
{
return a + b.ToString();
}
...
Ответ, как видно в консоли Firebugjson: {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}
а также
"NetworkError: 401 Unauthorized - http://localhost/Care-Provider-Home/Profile/Personal-Profile.aspx/TestWithParams" TestWithParams
Я посмотрел и прочитал обычные сайты на эту тему (Encosia и др.), Но безрезультатно. Либо я пропускаю критическую часть, либо в параметрах безопасности моей среды есть некоторые тонкости, препятствующие вызову.
Вот некоторые другие потенциально полезные моменты, которые могут повлиять на ваш диагноз:
Веб-методы в коде позадиИспользование Sitecore CMS (кажется, не мешает, никогда не знаю)IIS7.NET 3.5JQuery 1.3.2Я с нетерпением жду ваших идей и направления - спасибо!