OVH Cloud OVH Cloud

Petite astuce pour simplifier l'utilisation d'XMLHttpRequest.

5 réponses
Avatar
Julien Fontanet
Pour simplifier l'instanciation (je sais pas si ça peut se dire)
d'XMLHttpRequest, je vous propose ce petit bout de code :

if (!window.XMLHttpRequest && window.ActiveXObject)
{
window.XMLHttpRequest = function ()
{
var XMLHttp;
try
{
XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
XMLHttp = false;
}
}
return XMLHttp;
}
}

5 réponses

Avatar
BMR
Pour simplifier l'instanciation (je sais pas si ça peut se dire)
d'XMLHttpRequest, je vous propose ce petit bout de code :

if (!window.XMLHttpRequest && window.ActiveXObject)
{
window.XMLHttpRequest = function ()
{
var XMLHttp;
try
{
XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
XMLHttp = false;
}
}
return XMLHttp;
}
}


J'ai essayé, mais ça ne fonctionne pas (IE ou Firefox)...

J'utilise un code que j'ai trouvé sur 2 sites (Openweb et un autre, le
même code) :

function getHTTPObject() {
var xmlhttp = false;
// Compilation conditionnelle d'IE
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/

if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
}
catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}

BMR

Avatar
BMR

Pour simplifier l'instanciation (je sais pas si ça peut se dire)
d'XMLHttpRequest, je vous propose ce petit bout de code :

if (!window.XMLHttpRequest && window.ActiveXObject)
{
window.XMLHttpRequest = function ()
{
var XMLHttp;
try
{
XMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
XMLHttp = false;
}
}
return XMLHttp;
}
}



J'ai essayé, mais ça ne fonctionne pas (IE ou Firefox)...


BMR


Désolé, mais j'avais oublié l'instanciation de l'objet XMLHttpRequest
(on peut parler d'instanciation car il s'agit d'une pseudo-classe
Javascript). Ca devrait fonctionner.


Avatar
julien.fontanet
Pardon, je n'ai pas été très clair, apès avoir placé ce code, il
suffit, pour instancier XMLHttpRequest de faire exactement comme dans
Firefox :
var xmlhttp = new XMLHttpRequest();

Je tiens à préciser que je ne l'ai essayé qu'avec Firefox et IE 6,
si vous l'avez testé sur d'autre navigateur, que ça est marché ou
non, ou que vous ayez des questions ou des suggestions, n'hésitez pas
à répondre à ce message.

--
Julien Fontanet - http://julien.fontanet.free.fr/blog/
Avatar
Patrick Mevzek

Pour simplifier l'instanciation (je sais pas si ça peut se dire)
d'XMLHttpRequest, je vous propose ce petit bout de code :


Une astuce encore meilleure: utiliser une bibliothèque toute faite qui
encapsule tous les détails, présente une API unique et stable pour tous
les navigateurs, en étant bien plus complète.

Par exemple: sarissa (sur sourceforge)

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>

Avatar
Franck Andriano



Pour simplifier l'instanciation (je sais pas si ça peut se dire)
d'XMLHttpRequest, je vous propose ce petit bout de code :



Une astuce encore meilleure: utiliser une bibliothèque toute faite qui
encapsule tous les détails, présente une API unique et stable pour tous
les navigateurs, en étant bien plus complète.

Par exemple: sarissa (sur sourceforge)



http://groups.google.fr/group/fr.comp.lang.javascript/msg/3d416f49e5348305