ajax mit jquery asp.net funktioniert nicht

Ich freue mich über pull-out alle verbleibenden Haare, die ich habe, so bitte helfen Sie mir, wenn Sie wissen, was das problem sein könnte... Danke.
Alle meine googeln und suchen hat nicht bezahlt.

Erste, ich bin mit jquery-1.7.2.min.js und ASP.net 2.0 web form.

Ich versuche, mich ein ajax-Aufruf mit jquery-aber bekomme immer syntax Fehler/parse-error Meldungen. Ich habe versucht viele verschiedene Möglichkeiten, aber Sie alle führen in die Fehler-wenn ich die dataType json.

Hier ist, was ich habe:

$.ajax({
    type: "POST",
    url: "UserList.aspx/GetTestJson",
    data: {}, //have also tried "{}" and other options such as removing the line
    contentType: "application/json;charset=utf-8",
    dataType: "json",
    success: function(data, textStatus, jqXHR){
        alert('success');
    },
    //Using below instead of above makes no difference either
    //success: function(data){
    // alert('success');
    //},
    error: function(jqXHR, textStatus, errorThrown){
        alert('errorThrown: ' + errorThrown);
    }
});

und die aspx-Seite-Methode:

[WebMethod]
public static string GetTestJson()
{
    return "Hello My World";
}

Ich habe versucht, die Einrichtung eines web service auch, aber das gleiche Ergebnis erhalten.
Es scheint, dass die Antwort zurück kommt ist entweder der vollständige html-Code für die Seite oder xml-Daten aus dem web-service und da ich die dataType json ist es nicht erfolgreich Parsen.
Wenn dies der Fall ist, wie ich die Antwort auf nur json zurückgeben?

Hier ist etwas anderes ich habe versucht, ohne Glück:

[WebMethod]
public static string GetTestJson()
{
    HttpContext.Current.Response.ContentType = "application/json";
    string json = JavaScriptConvert.SerializeObject("Hello My World");
    return json;
}

Fehlermeldungen bekomme ich durch jQuery:

errorThrown.message = "Syntax error"
errorThrown.number = -2146827286
errorThrown.name = "SyntaxError"
textStatus = "parseerror"
jqXHR.status = 200
jqXHR.statusText = "OK"
jqXHR.readyState = 4
jqXHR.responseText = (the complete html of the page)

Irgendwelche Ideen oder Vorschläge?

Dank

Lediglich das setzen des Content-type-HTTP-header, die eigentlich gar nicht magisch ändern Sie den Inhalt der Antwort. Müssen Sie die Konvertierung der Daten in JSON selbst. Auch, [WebMethod] ist in der Regel für SOAP-services, nicht Erholsam-style web-services.
Das ist teilweise wahr, PageMethods sind speziell zum Einsatz in AJAX-Szenarien, legen Sie den Antwort-Typ für json standardmäßig
Welche version von ASP.NET verwenden Sie?
Es klingt wie Sie nicht das ASP.NET Ajax-Erweiterungen installiert oder Ihr web.config nicht aktualisiert, um die Vorteile der neuen Funktionen (einschließlich statische "Seite Methode" - Funktion, die Sie versuchen hier zu verwenden). Ich habe geschrieben ein wenig über, wie man das hier: encosia.com/...
Hi @Rob. Versuchen Sie dieses Beispiel, das ich gerade geschrieben. Als Dave gerade erwähnt den test, muss der code im web.config richtig konfiguriert ist, überprüfen Sie den code (mit einer funktionierenden web.config) hier: mediafire.com/?5l7va36edkc3tkl

InformationsquelleAutor PostureOfLearning | 2012-07-31

Schreibe einen Kommentar