Firefox中的ajax问题

by 好大一小白 2010.5.2 12:30

这里主要解决firefox浏览器中的服务器请求失败"411Error"问题和ajax乱码问题.
首先,一般ajax代码:
function newXMLHttpRequest() {

  var xmlreq = false;

  if (window.XMLHttpRequest) {
    xmlreq = new XMLHttpRequest();

  } else if (window.ActiveXObject) {

    try {

      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
     
    } catch (e1) {

     
      try {
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e2) {

        xmlreq = false;
      }
    }
  }

return xmlreq;
}


 function getReadyStateHandler(req, responseXmlHandler) {

   return function () {

     if (req.readyState == 4) {
      
       if (req.status == 200) {

         responseXmlHandler(req.responseXML);

       } else {

         alert("HTTP error "+req.status+": "+req.statusText);
       }
     }
   }
 }

一般调用:

var req = newXMLHttpRequest();
 req.onreadystatechange = getReadyStateHandler(req, returnfunction);
 req.open("POST", "action", true);
 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 req.send();

注意,最后的req.send(),在ie中,这样写法是可以正常执行的,但是在firefox中却不会请求服务器.
服务器411错误,是由于写成了req.send(null);
如果没有传参数信息,
         可以用get方法而不是post;
         或者写成req.send(""),传一个空串即可.

firefox中ajax解析xml乱码问题:
         将后台返回的xml编码设置成UTF-8编码即可.

Tags: , , , , , , ,

WEB开发 | ajax

不允许评论

微信赞

本站统计

36 篇文章
5 个单页
12 条评论
12 次评分
1315501 次访问
访问统计开始于 2010年4月24日
平均日访问 224 次
当前 5 人在线

声明

本博所有网友评论不代表本博立场,版权归其作者所有。 
苏ICP备09004001号
Powered by BlogYi.net  edit by 1wanweb.com
© Copyright 2008-2017