使用XMLSerializer将jQuery XML转换为String:FF会引发安全性错误

时间:2012-03-18 12:15:11

标签: jquery xml xmlserializer

我一直在尝试将XML(jQuery对象)序列化为字符串以将其POST到服务器。

<script>
$(function(){
  myxml = "<tag>just a sample here</tag>";
  myxml = $(myxml);
  if (window.ActiveXObject){
      var xmlString = myxml.xml;
  } else {
    var oSerializer = new XMLSerializer();  
    var xmlString = oSerializer.serializeToString(myxml); 
  }
  console.log(xmlString);
}
</script>

此代码不起作用。 FF抛出一个安全错误(没有检查其他浏览器,但FF已经足够运行此脚本了。)

1 个答案:

答案 0 :(得分:1)

总结经验。

将[0]添加到jQuery选择器有助于解决XML类型对象(请参阅上面的评论):

<script>
$(function(){ 
  myxml = "<tag>just a sample here</tag>"; 
  myxml = $(myxml); 
  if (window.ActiveXObject){ 
    var xmlString = myxml.xml; 
  } else {
    var oSerializer = new XMLSerializer(); 
    var xmlString = oSerializer.serializeToString(myxml[0]); // <-- HERE!
  } 
  console.log(xmlString); 
})
</script>