Como posso usar o “load” jQuery para executar uma solicitação GET com parâmetros extras?

StackOverflow https://stackoverflow.com/questions/1488593

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?

Foi útil?

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

$("#output").load("server_output.html", {"2009":year, "Canada":country});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top