在 Ajax 的 jQuery 示例页面上看到了这个示例:
var xmlDocument = [create xml document];
$.ajax({
url: "page.php",
processData: false,
data: xmlDocument,
success: someFunction
});
我如何获取像这样的字符串:
var t = '<foo><bar>something</bar></foo>';
并将其转换为 XML DOM 对象?跨浏览器?
UPDATE:
请参阅 karim79 答案的评论。
将其包装在 jQuery 对象中。然后使用 jQuery 的普通 DOM 操作方法就可以了。
var t = $('<foo><bar>something</bar></foo>');
//loop over 'bar' nodes
t.find('bar').each(function () {
alert($(this).text());
});
如果您想将其转换回纯字符串(例如修改后),您可以这样做:
//then convert it back to a string
//for IE
if (window.ActiveXObject) {
var str = t.xml;
alert(str);
}
// code for Mozilla, Firefox, Opera, etc.
else {
var str = (new XMLSerializer()).serializeToString(t);
alert(str);
}
编辑:$.ajax手册说(在 processData 选项上):
默认情况下,传入的数据为data
选项作为对象(从技术上讲,
除了字符串之外的任何东西)都会是
处理并转换为查询
字符串,适合默认值
内容类型
“应用程序/x-www-form-urlencoded”。
如果您想发送 DOMDocuments,或者
其他未处理的数据,设置此项
选项为 false。
因此,如果您将 jQuery 对象传递到服务器,则需要将其设置为true,或者完全省略它(它被设置为true默认情况下)。希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)