Eu segui o tutorial como indicado neste link. No código abaixo, por algum motivo, os dados não são anexados ao URL como parâmetros, mas se eu os definir diretamente para o URL, /?field1="hello"
ele funciona.
$.ajax({
url: 'superman',
type: 'POST',
data: { field1: "hello", field2 : "hello2"} ,
contentType: 'application/json; charset=utf-8',
success: function (response) {
alert(response.status);
},
error: function () {
alert("error");
}
});
Respostas:
Eu recomendaria que você faça uso do
$.post
ou$.get
sintaxe do jQuery para casos simples:Se você precisar capturar os casos de falha, faça o seguinte:
Além disso, se você sempre enviar uma string JSON, poderá usar $ .getJSON ou $ .post com mais um parâmetro no final.
fonte
field1:
e o que é"hello"
? Variáveis em JS ou PHP?Tente usar o método GET,
Você não pode ver os parâmetros no URL com o método POST.
Editar:
fonte
O Jquery.ajax não codifica dados POST automaticamente para você da mesma forma que para dados GET. O Jquery espera que seus dados sejam pré-formatados para serem anexados ao corpo da solicitação e enviados diretamente pela conexão.
Uma solução é usar a função jQuery.param para criar uma sequência de consultas esperada pela maioria dos scripts que processam solicitações POST.
Nesse caso, o
param
método formata os dados para:A documentação do Jquery.ajax diz que existe um sinalizador chamado
processData
que controla se essa codificação é feita automaticamente ou não. A documentação diz que o padrão étrue
, mas esse não é o comportamento que observo quandoPOST
é usado.fonte
fonte
Em uma solicitação POST , os parâmetros são enviados no corpo da solicitação, é por isso que você não os vê no URL.
Se você quiser vê-los, altere
para
Observe que os navegadores possuem ferramentas de desenvolvimento que permitem ver as solicitações completas que seu código emite. No Chrome, está no painel "Rede".
fonte
type: 'POST'
, anexará ** parâmetros ao corpo da solicitação **, que não é visto no URLtype: 'GET'
, enquanto anexa parâmetros ao URL que é visível .A maioria dos navegadores da web populares contém painéis de rede que exibem a solicitação completa .
No painel de rede, selecione XHR para ver as solicitações .
Isso também pode ser feito através disso.
fonte
Você pode fazer isso usando $ .ajax ou $ .post
Usando $ .ajax:
Usando $ .post:
fonte
Seu código estava correto, exceto que você não está passando as chaves JSON como cadeias.
Deve ter aspas duplas ou simples ao seu redor
fonte
Para enviar parâmetros em url no
POST
método Você pode simplesmente anexá-lo a url assim:fonte