2012-02-02 63 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对象。