要使用XMLSerializer字符串的jQuery XML:FF引发安全错误
问题描述:
我一直试图序列化一个XML(jQuery对象)来将字符串POST到服务器。要使用XMLSerializer字符串的jQuery XML:FF引发安全错误
<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已经足够了,不会运行这个脚本)。
答
只是为了总结经验。
添加[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>
你的代码是无效的。 '$('没有用'''正确关闭)。 – 2012-03-18 12:17:31
是的,抱歉,错字,谢谢! – 2012-03-18 12:21:10
发现问题的根源。 问题是XMLSerializer不能吃jQuery,它只能用真正的XML对象进行提供。与myxml喂养它[0],而不是myxml帮助: – 2012-03-18 12:21:55