Pregunta

Estoy construyendo una pequeña extensión de Chrome que debe enviar mensajes a través de una solicitud POST HTTP a un servidor en la red de mi empresa, y estoy usando JQuery 1.4.1 para acelerar el desarrollo de la parte JavaScript.

Tengo este código para enviar la solicitud:

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 solicitud realizada de esta manera falla, en el registro de Chrome veo que el servidor responde con un estado HTTP 400 y con el texto "Estos métodos requieren publicación".

Si cambio al código anterior con esto:

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

Todo funciona bien, el estado HTTP es 200 y el lado del servidor puedo ver que los datos que envié se guardan correctamente.

Necesito usar el método $ .AJAX () completo porque necesito hacer algo de trabajo en caso de éxito o fracaso, y algún otro cuando la solicitud está completa, por lo que $ .post () no es suficiente.
¿Estoy haciendo algo mal llamando $ .AJAX (), o hay un problema de algún tipo, tal vez porque estoy en el xontexo de una extensión de Chrome?

Gracias

¿Fue útil?

Solución

Creo que el $ .AJAX () La función toma una opción de 'tipo', no una opción de 'método'.

El tipo predeterminado es Get.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top