2010-02-05 6 views
18

Ich habe das folgende Stück Code, das ich versuche gerade durch in FirebugJQuery Wie finde ich heraus, was der Ajax-Fehler ist?

laufen
$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(e, ts, et) { alert(ts) } 
}) 

In der Theorie sollte es funktionieren. Der Fehlerhandler wird jedoch ausgelöst, und ts wird einfach auf "Fehler" gesetzt. Wie bekomme ich mehr Details darüber, was falsch gelaufen ist?

+2

Öffnen Sie Firebug oder IE8 Debugger und setzen Sie einen Haltepunkt auf Ihre 'alert (ts)'. Untersuchen Sie Ihre Parameter "e, ts, et", um herauszufinden, wo die gewünschten Informationen gespeichert sind. –

Antwort

30
$.ajax({ 
    type:"POST", 
    url:"http://mpdomain/WebService.asmx/Operation", 
    data: "{'parameter1': '44906'}", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json", 
    success: function(data) { alert("succsess") }, 
    error: function(ts) { alert(ts.responseText) } 
}) 
+5

hmm - es ist leer. Irgendwelche Ideen? –

+1

hmm ... versuchen Sie responseStatus – ozsenegal

+3

warum Warnungen, sie sind nicht gut für jedermann. Verwenden Sie einen Debugger; Anweisung oder console.dir das Objekt. Alles außer Warnungen! – redsquare

4

Die Fehlermeldung jQuery gibt Ihnen ist nicht sehr anschaulich. Es kann entweder "timeout", "error", "notmodified" oder "parsererror" sein. http://api.jquery.com/jQuery.ajax/ Also was Sie daraus schließen können ist, dass es kein Timeout ist, nicht modifiziert oder Parse-Fehler, den Sie bekommen.

Vergewissern Sie sich, dass in Firebug die Anforderung auf die richtige Adresse gesetzt ist und die korrekten Daten eingestellt werden. Sie können die Antwort auch anzeigen, wenn Sie also auch Zugriff auf den Server-Code haben, ist ein schneller und schmutziger Weg, einfach zu echotieren, was auf der Serverseite läuft, und die Antwort mit Firebug anzuzeigen.

Auch ich bin mir nicht sicher, ob dies ein Problem ist, aber versuchen Sie, die Daten auf {parameter1: 44906} (im Grunde entfernen Sie die Anführungszeichen, so dass Sie ein Objekt und nicht eine Zeichenfolge übergeben).

Verwandte Themen