Question

Je suis en train de construire une petite extension Chrome qui doit envoyer des messages par le biais d'une requête http POST à un serveur dans mon réseau d'entreprise, et je suis en utilisant jQuery 1.4.1 pour accélérer le développement de la partie javascript.

J'ai ce code pour envoyer la demande:

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");            
        }
    });     
}

La demande fait de cette façon échec, dans le Chrome journal, je vois que le serveur répond avec un statut http 400 et avec le texte "Cette méthode nécessite POST".

Si je change le code ci-dessus avec ceci:

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

tout fonctionne bien, le code d'état http 200 et côté serveur, je peux voir que les données que j'ai envoyé est correctement enregistré.

J'ai besoin d'utiliser la totalité du montant.ajax() la méthode car j'ai besoin de faire un peu de travail en cas de succès ou d'échec, et quelques autres, lorsque la demande est complète, et donc $.post() n'est pas suffisant.
Suis-je en train de faire quelque chose de mal appelant $.ajax(), ou il y a un problème, peut-être parce que je suis dans le xontext d'une extension Chrome?

Merci

Était-ce utile?

La solution

Je crois que le $.ajax() la fonction prend un "type" de l'option, pas une "méthode" option.

Le type par défaut est de l'OBTENIR.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top