Safari和Chrome中的AJAX对象?

时间:2009-11-08 17:12:17

标签: ajax safari google-chrome

我问道,

  

你能告诉我为什么我的搜索在IE8中运行正常但却遇到了safari和chrome吗?

     

www.netivot.biz

     

ajax代码位于www.netivot.biz/js/Ajax.js

     

它适用于一些xml和xslt文件

然后抖动建议用我的代码预先设置:

function getAjaxObject() {
  var xmlHttp = null;  
  try {    
    //FF, Opera, Safari, Chrome, IE7+
    xmlHttp = new XMLHttpRequest();  
 } catch(e) {    
     try {      
       //IE6+
          xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");    
     } catch(e) {
          try {
            //IE5+
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
          } catch(e) {
            xmlHttp  = null;
          }
     }
 }  
 return xmlHttp;}

但仍然不适用于safari和chrome任何建议吗?

4 个答案:

答案 0 :(得分:3)

尝试这一点,它的好处是不依赖浏览器。

 // Browser-agnostic factory function
 _createXMLHttpRequest: function() {
   if (window.XMLHttpRequest) {
     return new XMLHttpRequest();
   } else if (window.ActiveXObject) {
     return new ActiveXObject('Microsoft.XMLHTTP')
   } else {
     _error("Could not create XMLHttpRequest on this browser");
     return null;
   }
 },

更多信息:

答案 1 :(得分:3)

您是否尝试使用jQuery或其他库的ajax函数?

答案 2 :(得分:1)

<script type="text/javascript">
function ajaxFunction()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  alert("Your browser does not support XMLHTTP!");
  }
}
</script>

这段代码可以在W3Schools中找到,你可以像我一样学习基础知识。希望这有帮助。

答案 3 :(得分:0)

奇怪。所有的建议都应该有效。无论如何,这是我使用的,它至少对我的网站起作用。

return window.ActiveXObject ?
    new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest()