Como posso usar o “load” jQuery para executar uma solicitação GET com parâmetros extras?
-
18-09-2019 - |
Pergunta
Estou lendo o jQuery carga documentação e menciona que eu posso usar de carga para executar um pedido GET, passando em parâmetros extras como uma string. Meu código atual com os meus parâmetros como par chave / valor é:
$("#output").load(
"server_output.html",
{
year: 2009,
country: "Canada"
}
);
A obras acima bem, mas é um pedido post. Como posso modificar o acima para executar uma solicitação GET enquanto ainda estiver usando load
?
Solução
De acordo com a documentação vinculada:
Um pedido GET será realizada por padrão - mas se você passar em qualquer adicional parâmetros na forma de um Objeto / Mapa (pares de chave / valor), então um POST irá ocorrer. parâmetros extras passado como uma string ainda usará um GET solicitação.
Assim, a solução simples é converter o objeto para uma string antes de passá-lo para a função. Infelizmente, a documentação não especificar o formato do texto deverá estar no, mas eu acho que seria o mesmo que se você estavam gerando o pedido GET manualmente.
$("#output").load(
"/server_output.html?year=2009&country=Canada"
);
Outras dicas
Use $.param(data)
:
$("#output").load(
"server_output.html?" + $.param({
year: 2009,
country: "Canada"})
);
$("#output").load("server_output.html?year=2009&country=Canada");
você não pode apenas fazer:
$("#output").load(
"server_output.html?year=2009&country='Canada'"
);
Use esta ??p>
$("#output").load("server_output.html", {"2009":year, "Canada":country});