火狐中使用ajax var xmlObj = xmlhttp.responseXML;
var childs = xmlObj.getElementsByTagName("string");// 数据
for(var i=0,len=childs.length; i<len; i++)
{
       if(childs[i].firstChild != null)
       {
             strArr[strArr.length] = childs[i].firstChild.nodeValue;//这里如果过程火狐自动阶段,IE就没有这个问题,不知道怎么解决
       }
       else
       {
              strArr[strArr.length] = "";
       }
}
在火狐里childs[i].firstChild.nodeValue如果内容过程会自动截断,IE就没有问题,急!! 
请大家帮忙如何解决? 

解决方案 »

  1.   

    因为我返回是一个json格式的字符串,里面内容可能长度会达到上万 
    现在就是希望通过什么方式回去这个内容, 
    原来使用的nodeValue火狐自动截断
      

  2.   

    看看是不是这个json字符串中是不是有特殊字符。
      

  3.   

    应该返回了空白符号什么的,使ff把空白几点当作一个节点了,这样如果你的第一个节点是空白节点,那么就是空了可以使用这个函数获取第一个节点下的多由节点的内容function getHTML(o){//对ff,获取空白节点和其他文本节点
      var r="";
      for(var i=0;i<o.childNodes.length;i++)r+=o.childNodes[i].nodeValue;
      return r;
    }var xmlObj = xmlhttp.responseXML;
    var childs = xmlObj.getElementsByTagName("string");// 数据
    for(var i=0,len=childs.length; i<len; i++)
    {
       if(childs[i].firstChild != null)
         strArr[strArr.length] = document.all?childs[i].firstChild.nodeValue:getHTML(childs[i]);//注意这里加了判断,如果是ff则使用辅助函数来获取内容
       else
         strArr[strArr.length] = "";
    }