Pergunta

Estou construindo uma pequena extensão do Chrome que deve enviar mensagens através de uma solicitação HTTP post para um servidor na rede da minha empresa e estou usando o JQuery 1.4.1 para acelerar o desenvolvimento da peça JavaScript.

Eu tenho este código para enviar a solicitação:

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

A solicitação feita dessa maneira falha, no log do Chrome que vejo que o servidor responde com um status HTTP 400 e com o texto "Este método requer postagem".

Se eu mudar para o código acima com isso:

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

Tudo funciona bem, o status HTTP é 200 e o lado do servidor, posso ver que os dados que enviei foram salvos corretamente.

Preciso usar o método $ .ajax () completo, porque preciso fazer algum trabalho em caso de sucesso ou falha, e alguns outros quando a solicitação estiver concluída, então $ .post () não é suficiente.
Estou fazendo algo errado chamando $ .ajax (), ou há algum tipo de problema, talvez porque eu esteja no Xontext de uma extensão do Chrome?

Obrigado

Foi útil?

Solução

Eu acredito no $ .ajax () A função leva uma opção 'tipo', não uma opção 'método'.

O tipo padrão é Get.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top