2009-10-10 7 views
0

Jquery semble avoir du mal à charger IE (6,7,8) en utilisant la fonction load() lorsqu'il y a des URL avec des paramètres (exemple: getdata.php? Id = 2444)Est-ce que Jquery est cassé? Pourquoi Jquery Load fn ne fonctionne pas dans IE?

J'ai ce problème, mais il semble que cette question est commune et n'a jamais été résolu:

voir

JQuery load() in IE8 POST&GET not working?jQuery's .load() not working in IE - but fine in Firefox, Chrome and Safari

Pourquoi pas cette question été fixée? Y a-t-il une solution utilisant Jquery?

+0

en supposant cpharmston est juste (sons que bien), ce serait vraiment intéressant, puisque les autres questions que vous avez mentionnées sur le SO ne pas charger quoi que ce soit avec un querystring :) –

Répondre

4

La fonction $.load de jQuery possède un paramètre de données qui prend les valeurs sérialisées JSON et les convertit en variables GET. Essayez ceci:

$.load('getdata.php', { 'id': 2444 }); 

Depuis $.load() est juste une enveloppe de $ .ajax(), vous pouvez trouver plus d'informations au $.ajax() page (allez à l'onglet Options, recherchez le paramètre data). Il a été construit de cette façon pour empêcher facilement la mise en cache (ce qui est fait par une variable GET de l'horodatage) et faire quelques astuces de sérialisation JSON (dans le but de faciliter l'utilisation des types de données JavaScript):

var foos = ['bar1', 'bar2']; 
$.load('getdata.php', { 'foo': foos }); 

la demande de l'exemple ci-dessus: getdata.php?foo=bar1&foo=bar2

+0

Wow? Fuites d'abstractions, celles-ci. –

+0

J'ai édité ma réponse un peu pour l'expliquer. C'est certainement une abstraction qui fuit, mais il y a aussi des avantages nets. –

+0

Très intéressant. En supposant que ce soit intentionnel, puis-je également supposer qu'il est documenté quelque part? En dehors d'ici, je veux dire: http://groups.google.com/group/jquery-fr/browse_thread/thread/18f03016212cf049 –

Questions connexes