¿Cómo puedo usar jQuery "load" para realizar una solicitud GET con parámetros adicionales?
Estoy leyendo la documentación de carga de jQuery y menciona que puedo usar load para realizar una solicitud GET pasando parámetros adicionales como una cadena. Mi código actual con mis parámetros como par clave/valor es:
$("#output").load(
"server_output.html",
{
year: 2009,
country: "Canada"
}
);
Lo anterior funciona bien, pero es una solicitud post. ¿Cómo puedo modificar lo anterior para realizar una solicitud GET mientras sigo usando load
?
5 answers
De acuerdo con la documentación que enlazó:
Una solicitud GET será realizada por por defecto-pero si pasa en cualquier extra parámetros en forma de Objeto / Mapa (pares clave/valor) POST se producirá. Parámetros Extra passed as a string will still use a Solicitud GET.
Así que la solución simple es convertir su objeto en una cadena antes de pasarlo a la función. Desafortunadamente, la documentación no especifica el formato que debe tener la cadena en, pero supongo que sería lo mismo que si estuviera generando la solicitud GET manualmente.
$("#output").load(
"/server_output.html?year=2009&country=Canada"
);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-28 18:35:23
Use $.param(data)
:
$("#output").load(
"server_output.html?" + $.param({
year: 2009,
country: "Canada"})
);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-21 20:20:15
$("#output").load("server_output.html?year=2009&country=Canada");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-28 18:35:10
No puedes simplemente hacer:
$("#output").load(
"server_output.html?year=2009&country='Canada'"
);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-28 18:35:36
Usa esto
$("#output").load("server_output.html", {"2009":year, "Canada":country});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-12 20:03:14