2012-02-02 60 views
0

如果我使用的AJAX在IE上完美工作,但在Google Chrome或Firefox上完全不起作用,有人能告訴我哪些是主要差異或我應該查找的方面?Ajax只能在IE中工作

有一些東西,IE接受但其他人不?或者是否有任何代碼需要添加才能適用於所有瀏覽器?

我不知道這是否會影響某些東西,但我正在與PYTHON合作!

這裏是所有的Ajax功能爲基礎使用的代碼:

var xmlhttp; 
var request = true; 

function GetXmlHttpObject() { 
    try { 
     request = new XMLHttpRequest(); 
    } catch (trymicrosoft) { 
     try { 
     request = new ActiveXObject("Msxml12.XMLHTTP"); 
     } catch (othermicrosoft) { 
      try { 
      request = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (failed) { 
      return false; //or null 
      } 
     } 
    } 
    if (!request) 
    alert ("Error initializing XMLHTTPRequest!"); 
    return request; 
} 

這樣做後,我用常規的JavaScript功能,其中包括這樣的事情:

var url = 'evaluacionDesempenoBD.py?cadena=' + cadena + '&comentario=' + comentario + '&idEvaluacion=' + idEvaluacion + '&seccion=' + seccion; 

xmlhttp = GetXmlHttpObject(); 
if (!xmlhttp) { 
    alert ("Browser does not support HTTP Request"); 
    return; 
} 
var xml = xmlhttp; 
xmlhttp.open("GET",url,true); 
xmlhttp.send(null);''' 

我希望我讓自己清楚 非常感謝!

+0

你會得到什麼錯誤?你使用什麼代碼? – Quentin 2012-02-02 19:12:27

+1

我們需要查看代碼,但這聽起來像只創建一個ActiveX對象,而不是XMLHttpRequest對象。 – 2012-02-02 19:14:14

+0

@Quentin我有一個非常大的代碼。 AJAX函數只需轉到另一個在DataBase上插入某些內容的腳本。 – mauguerra 2012-02-02 19:15:22

回答

2

維基百科對XMLHttpRequest的an awesome article一些示例代碼,可以幫助你在所有瀏覽器讓你的AJAX的thingie工作。

或許你會面臨一個問題,由於與問候到XMLHttpRequest對象,你特別是如何處理的readyState變化的內部瀏覽器的差異。 Quirksmode對此有a document

3

您可能使用ActiveX AJAX對象,而不是所有瀏覽器支持的本機實現。

使用new XMLHttpRequest()在本地實現的瀏覽器上創建AJAX對象。