2011-06-06 4 views
0

je le code JavaScript suivant:erreur Javascript dans Firefox 3.6

var xmlHttpReq = getXmlHttpObject(); 
    xmlHttpReq.onreadystatechange=function(){ 
     if (xmlHttpReq.readyState == 4) { 
      var res =xmlHttpReq.response;  
      var result = res.split(',');   
      if (document.getElementById("shoppingCardAjax")!=null){  
      document.getElementById("shoppingCardAjax").innerHTML = overAllPayment + result[1]; 
      } 
    } 

sur Chrome ce code fonctionne sans faille, mais sur Mozilla 3.6 J'obtiens l'erreur:

res is undefined 
var result = res.split(','); 

Pourquoi? Quelle est la différence?

+1

La dernière version du logiciel appelée "Mozilla" était 1.7.13. Voulez-vous dire Firefox? – Quentin

Répondre

2

xmlHttpReq.response devrait être xmlHttpReq.responseText

PS: Pourquoi ne pas utiliser un lieu lib comme jQuery agréable de faire toutes les choses XHR manuellement?

+0

Bien, mais pouvez-vous expliquer pourquoi? –

+0

Tout simplement parce que l'attribut correct est 'responseText' (je ne sais pas pourquoi Chrome a' .response', aussi) – ThiefMaster

+0

Intéressant. Chrome a un alias pour 'responseText' appelé' response': [Voici un test (fonctionne probablement sur Chrome)] (http://jsbin.com/eseli3/2) Colorie-moi surpris! Ni [MSDN] (http://msdn.microsoft.com/en-us/library/ms535874 (v = vs.85) .aspx) ni le [W3C] (http://www.w3.org/TR/ XMLHttpRequest/# xmlhttprequest) définit cela. Il suffit de cocher Firefox 3.6, Opera 11 et IE9, aucun d'eux ne l'a. –

Questions connexes