[ jQuery ] Alternatives à .load() pour IE

Par Raphael12, il y a 11 ans


Bonjour,

J'ai un problème avec la fonction .load() de jQuery pour charger le contenue d'un fichier php.
Je ne peux pas rentrer dans les détails de l'application mais cela se présente sous la forme suivante:

La fonction fonctionne parfaitement avec Chrome ou Firefox j'obtient le résultat souhaité. Ma structure html s’injecte dans le body de l'application exécuté sur les serveurs.

Ce morceau de code ne fonctionne pas avec Internet Explorer:

Sur les serveurs:

$("body").load("http://mondomaine.com/ma_structure_html.php",function(){
    alert( "Chargement ok" );
});

La structure commune:

<?php header('Access-Control-Allow-Origin: *', true); ?>
<table>
<tr>
    <td>Mon html Commun</td>
</tr>
</table>

Je cherche donc une alternative pour réaliser la même injection sur tous les navigateurs. Si quelqu'un à déjà eu le même problème ce serais sympa de me donner un petit coup de pouce.

Vous remerciant par avance pour votre aide.

Raphaël

3 réponses

Raphael12, il y a 11 ans

Ok je vais voir ce que ça donne avec cette méthode et indiquerais sur le sujet le résultat.

Merci !

Raphael12, il y a 11 ans

J'ai trouvé la solution en utilisant une autre méthode.

X/DomainRequest n'a pas résolue mon problème.

J'ai donc passer le contenue de ma page web en datatype : jsonp qui autorise les requete GET cross domaine et cross navigateur.

exemple:

$.ajax({
    type: 'GET',
    url: 'http://www.votre-url.com/htmlToJson.php',
    data: {
        field: 'value'
    },
    dataType: 'jsonp',
    crossDomain: true,
}).done(function(data){
    console.log(data'0'].replace("\'","'"));
}).fail(function(error){
    console.log(error.statusText);
});

Cela fonctionne maintenant sur IE et les autres navigateurs.