我已经实现了在此处找到的解决方案,但它在 Firefox 中不起作用。
IE 很好地加载和读取 XML 文档Strike 指出,如果数据类型是“字符串”,则数据变量保存 XML,但将其加载到 xml 变量中会返回以下相同的函数。XML 文件是一个平面文件,存储在与 HTML 文件相同的文件夹中。该文件是从 运行的"file:///D:/..."
,而不是从网络服务器运行的。
Firefox版本是16.0.2,我尝试过jquery 1.7.1 和 1.8.2。我做了一个dataType
比较,数据不是XML
,只是说Object
。
我做了一个警报$(data).contents
并得到:
function (c, d) {
var e = p.map(this, b, c);
return bc.test(a) || (d = c), d && typeof d == "string" && (e = p.filter(d, e)), e = this.length > 1 && !bg[a] ? p.unique(e) : e, this.length > 1 && bd.test(a) && (e = e.reverse()), this.pushStack(e, a, k.call(arguments).join(","));
}
我尝试设置security.fileuri.strict_origin_policy
为false,但这没有效果。
这是代码:
$.ajax({
url: "COBIE.xml",
dataType: ($.browser.msie) ? "text" : "xml",
success: function (data) {
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
// Returned data available in object "xml"
setMessage("XML date has been loaded");
} else if (typeof data == "xml") {
xml = data;
alert($(xml).contents);
// Returned data available in object "xml"
setMessage("XML date has been loaded");
} else {
alert($(data).contents);
setMessage("I have no idea what data you're trying to load");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
setMessage(errorThrown);
}
});