0

我对 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。

4

2 回答 2

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();
于 2013-04-24T08:53:45.227 回答
-1

您在哪个浏览器上尝试上述代码?尝试使用dataType : "text/xml"而不是 xml 。IE 以不同的方式处理 XML 数据类型(作为 ActiveXObject,其他浏览器(如 chrome)将它们作为简单 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;
          }
    }
}
于 2013-04-22T16:32:57.417 回答