0

我有一个解析 xml 文件的 ajax 调用。我已将异步设置为 false,但它仍然无法正常工作。我在 ajax 调用之前和之后都有警报,它似乎在连续工作。任何人都可以让我知道我哪里出错了。这是我正在做的代码段

var i = 0;

var xmlLength = 0;
var arr = new Array();

alert("1");
$.ajax({
  type: "GET",
  url: "sample.xml",
  async: false,
  dataType: "xml",
  success: function (xml) {
    $(xml).find('CD').each(function () {
      alert("2");
      i = i + 1;
      xmlLength += 1;

      var title;
      var getTo;
      var artist;
      var getToNode;
      var $allToElements = 'TO';

      var country = $(this).find('COUNTRY').text();
      getTo = $(this).find('TO'); //.text();

      if (getTo.length > 1) {
        var $divId = "window" + i;
        $('<div class="window" id="window' + i + '" />')
          .append('<div class="topright" id="topright' + i + '"/>')
          .append('<div class="topleft" id="topleft' + i + '"/>')
          .append('<div class="bottomright" id="bottomright' + i + '"/>')
          .append('<div class="bottomleft" id="bottomleft' + i + '"/>')
          .appendTo('div#demo1');
        var countr = $(this).find('COUNTRY').text();
        $('div#topright' + i).append(countr);
        $('div#topleft' + i).append('NW');
        $('div#bottomleft' + i).append('SW');
        $('div#bottomright' + i).append('SE');
        var j = 0;
        $(this).find('TO').each(function () {
          var $name = $(this).text();
          j += 1;
          $('div#window' + i).append($('<p id="to' + i + '">').text($name));
        });
      } else {
        var $divId = "window" + i;

        $('<div class="window" id="window' + i + '" />')
          .append('<div class="topright" id="topright' + i + '"/>')
          .append('<div class="topleft" id="topleft' + i + '"/>')
          .append('<div class="bottomright" id="bottomright' + i + '"/>')
          .append('<div class="bottomleft" id="bottomleft' + i + '"/>')

          .append($('<p id="to' + i + '">').text(getTo.text()))
          .appendTo('div#demo1');
        var countr = $(this).find('COUNTRY').text();

        $('div#topright' + i).append(countr);
        $('div#topleft' + i).append('NW');
        $('div#bottomleft' + i).append('SW');
        $('div#bottomright' + i).append('SE');
      }

      arr[i] = getTo;
    }); //end of find
  }
}); //end of ajax function

var j;
alert("3");

谢谢!

4

1 回答 1

4

请注意,Google Chrome 无法通过 XmlHttpRequest(用于 ajax 和jQuery.ajax函数)处理本地文件。所以你不能加载路径看起来像的文件file://...

于 2012-08-25T03:12:39.243 回答