Immer "401 Unauthorized" - Fehler konsequent mit jquery-Aufruf, um webmethod

Ich kämpfen um mein jquery Aufruf einer webmethode zu arbeiten. Ich werde prallte vom server mit einer Antwort "401 Unauthorized". Muss ich eine falsche Einstellung in der web.config oder sonst irgendwo, dass würde verhindern, dass sich ein erfolgreicher Aufruf.

Ihre Einsicht wird sehr geschätzt!

Aufruf der js Funktion die aufgerufen wird mit der jquery-Aufruf

button.OnClickAction = "PageMethod('TestWithParams', ['a', 'value', 'b', 2], 'AjaxSucceeded', 'AjaxFailed'); return false;";

JavaScript-Funktion, die macht der jquery-Aufruf

function 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'); }
});
}

Web-Methode Seite

    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();
    }
...

Antwort, wie gesehen, in der Firebug-Konsole

json: {"Message":"Authentication failed.","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}

und

"NetworkError: 401 Unauthorized - http://localhost/Care-Provider-Home/Profile/Personal-Profile.aspx/TestWithParams" TestWithParams

Ich sah Sie an und Lesen der üblichen Seiten zum Thema (Encosia, et al), aber in Anspruch zu nehmen. Entweder fehlt mir eine entscheidende Rolle, oder es gibt einige Feinheiten in der Sicherheitsparameter von meinem Umfeld, dass die Verhinderung eines Anrufs.

Hier sind einige andere potenziell nützliche Informationen, die möglicherweise Auswirkungen auf Ihre Diagnose:

  • Webmethods im codebehind
  • Mit Sitecore CMS (scheint nicht intefere, nie wissen)
  • IIS7
  • .NET 3.5
  • jQuery 1.3.2

Ich freue mich auf Ihre Erkenntnisse und-Richtung-danke!

InformationsquelleAutor CareMatch | 2010-02-19
Schreibe einen Kommentar