我正在为XML文件做一个简单的 AJAX 请求,而不是text / xml 它将它作为application / xml返回,这显然给了我一些问题。
代码:
method.getXmlData = function () {
return jQuery.ajax({
type: "GET",
url: "testxml.xml?id=" + theQuizId,
async: false,
dataType: "xml"
});
};
theQuizData = method.getXmlData();
有人有过类似的问题吗?
注意:由于CORS,不能包含js-fiddle。
答案 0 :(得分:0)
我通过将代码更改为以下代码来实现它:
method.getXmlData = function () {
var outerData;
jQuery.ajax({
type: "GET",
url: "testxml.xml?id=" + theQuizId,
async: false,
cache: false,
dataType: "xml",
success : function(data) {
outerData = data;
}
});
return outerData;
};
theQuizData = method.getXmlData();
答案 1 :(得分:-1)
在哪个浏览器上尝试上述代码?
尝试使用dataType : "text/xml"
而不是xml。 IE处理XML数据类型不同(作为ActiveXObject,其他浏览器如chrome将它们处理为Simple XML)。
例如。
$.ajax({
url : "myUrl",
type : 'post',
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data) {
var xml;
if (typeof data == 'string') {
/*This is for IE*/
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
}
}