Frage

Ich erstelle eine kleine Chrome -Erweiterung, die Nachrichten über eine Post -HTTP -Anforderung an einen Server in meinem Unternehmensnetzwerk senden muss, und ich verwende JQuery 1.4.1, um die Entwicklung des JavaScript -Teils zu beschleunigen.

Ich habe diesen Code, um die Anfrage zu senden:

function send() {
    $.ajax({
        url: "http://mycompany.com/update",
        method: "POST",
        data: {status: "sometest", in_reply_to_status_id: "anId"},
        success: function(data, textStatus) {
            console.log("success");
            console.log(data);
            console.log(textStatus);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            console.log("error");
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
        },
        complete: function(XMLHttpRequest, textStatus) {
            console.log("complete");            
        }
    });     
}

Die auf diese Weise durchgeführte Anfrage schlägt fehl. Im Chrome -Protokoll sehe ich, dass der Server mit einem HTTP -Status 400 und dem Text "diese Methoden erfordert Post" antwortet.

Wenn ich oben in den Code wechsle:

function send() {
    $.post("http://sunshine.emerasoft.com/statusnet/api/statuses/update.xml", {status: "sometext", in_reply_to_status_id: "anId"}, function(data) {
        console.log(data)
    }); 
}

Alles funktioniert gut, der HTTP -Status ist 200 und ich kann sehen, dass die von mir gesendeten Daten korrekt gespeichert sind.

Ich muss die vollständige $ .ajax () -Methode verwenden, da ich im Falle eines Erfolgs oder eines Misserfolgs etwas Arbeit leisten muss, und andere, wenn die Anfrage abgeschlossen ist, so ist $ .post () nicht ausreichend.
Mache ich etwas falsch, wenn ich $ .ajax () nennt, oder es gibt ein Problem, vielleicht weil ich im Xontext einer Chrome -Erweiterung bin?

Vielen Dank

War es hilfreich?

Lösung

Ich glaube das $ .ajax () Die Funktion nimmt eine Option "Typ" und keine "Methode" -Option.

Der Standardtyp ist erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top