• ie无法使用jquery解析xml


    今天做一个区域配送部分,需要调用XML来显示各个地区的配送信息,但是用jquery调用xml时,IE总是提示xml文件加载失败,但是在Firefox中的结果却是成功的。代码如下:
    [javascript]
    $.ajax({
    url:”codArea.xml”,
    type: “GET”,
    dataType: “xml”,
    error: function(xml){
    alert(‘Error loading XML document’+xml);
    },
    success: function(xml){
    $(xml).find(“pName”).each(function(i){
    $(“#province”).append(“<option id=”+i+”>”+$(this).text()+”</option>”);
    });
    }
    });
    [/javascript]
    标准的jquery调用xml的方式,问题出在哪里呢百思不得其解,最后上网找到答案了,因为IE出于安全考虑,不允许浏览器去直接请求本地磁盘的文件。如果把文件上传到服务器就可以正常访问了,但是如果想在本地看效果,可修改适当的修改一下代码,如下:
    [javascript]
    $.ajax({
    url:”codArea.xml”,
    type: “GET”,
    dataType: ($.browser.msie) ? “text” : “xml”,
    error: function(xml){
    alert(‘Error loading XML document’+xml);
    },
    success: function(data){
    var xml;
    if (typeof data == “string”) {
    xml = new ActiveXObject(“Microsoft.XMLDOM”);
    xml.async = false;
    xml.loadXML(data);
    } else {
    xml = data;
    };
    $(xml).find(“pName”).each(function(i){
    $(“#province”).append(“<option id=”+i+”>”+$(this).text()+”</option>”);
    });
    }
    });
    [/javascript]
  • 相关阅读:
    easyui datagrid 编辑器绑定事件
    Java初学(八)
    Java初学(七)
    Java初学(六)
    Java初学(五)
    Java初学(四)
    GCC基本知识
    OpenCL memory object 之 Global memory (2)
    OpenCL memory object 之 Global memory (1)
    OpenCL memory object 之 传输优化
  • 原文地址:https://www.cnblogs.com/shihao/p/2182844.html
Copyright © 2020-2023  润新知