2013-08-14 4 views
1

J'ai ce code jquery:jquery ajax post JSON ne fonctionne pas dans IE8

var sendInfo = { 
    auth: { 
     username: "janusz", 
     password: "password" 
    }, 
    func: "getCategories" 
}; 

$.ajax({ 
    url: 'http://domainname/fcgi-bin/wgpa.fcgi', 
    type: "POST", 
    data: sendInfo, 
    dataType: "json", 
    contentType: "text/json; charset=utf-8", 
    success: function (data) { 
     //.... 
    } 
}); 

Il fonctionne dans Chrome, Firefox, IE11, mais il échoue dans IE8. Ne dit rien. Et la requête n'apparaît pas non plus sur le serveur.

+2

jQuery ne prend pas en charge Ajax d'origine croisée dans IE8. Au lieu de 'XMLHttpRequest', les requêtes d'origine croisée dans IE8 doivent être effectuées avec l'objet' XDomainRequest' spécifique à Microsoft, qui comporte de nombreuses règles et restrictions étranges. L'équipe jQuery a décidé de ne pas le supporter. – apsillers

+0

utiliser jsonp au lieu de json – Sankara

+0

@ user8888 Impossible de POST avec jsonp –

Répondre

1

J'espère que vous avez résolu le problème. Au cas où d'autres personnes répondraient à cette question, je fournirai une réponse.

Vous pouvez utiliser EasyXDM (http://easyxdm.net) pour les messages interdomaines. Il peut être un peu difficile à mettre en place, mais fonctionne un charme.