【问题标题】:ajax response text xml to htmlajax响应文本xml到html
【发布时间】:2014-02-16 06:08:30
【问题描述】:

我有一个带有 xml 数据类型响应的 ajax 函数。我需要将此响应分配为下拉控件。如何从 XML 响应中访问 Id 和 Name 的值?

我试过 data[i].getElementsByTagName("Id")[0].childNodes[0].nodeValue;这没有给我任何价值

$.ajax({
  url: 'POWeb.asmx/GetStates?countryId=' + thisval,

  success: function (data) {
           var x = data.getElementsByTagName("KeyValueInt");
           var html = '<select>'

           for (i= 0; i < length; i++) {
                item = data[i].getElementsByTagName("Id")[0].childNodes[0].nodeValue;
                value = data[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue;
                html += '<option value=' + item + '>' + value + '</option>';
           }
           html += '</select>';
           alert(html);
 },
 error: function (XMLHttpRequest, textStatus, errorThrown) {
     //some stuff on failure
 }
});


<?xml version="1.0" encoding="utf-8"?>
<ArrayOfKeyValueInt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<KeyValueInt>
  <Id>51</Id>
  <Name>Ontario</Name>
</KeyValueInt>
<KeyValueInt>
  <Id>52</Id>
  <Name>Quebec</Name>
</KeyValueInt>
<KeyValueInt>
  <Id>53</Id>
  <Name>Nova Scotia</Name>
</KeyValueInt>

【问题讨论】:

    标签: jquery html xml xml-parsing


    【解决方案1】:

    您在 XML 文件中错过了结束标记 &lt;/ArrayOfKeyValueInt&gt;!而data 不是一个数组,它是一个 DOM 对象。下面的代码应该没问题:

    success: function(data) {
           var x = data.getElementsByTagName("KeyValueInt");
           var html = '<select>'
    
           for (i= 0; i < x.length; i++) {
                item = x[i].getElementsByTagName("Id")[0].childNodes[0].nodeValue;
                value = x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue;
                html += '<option value=' + item + '>' + value + '</option>';
           }
           html += '</select>';
           alert(html);
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2013-11-22
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      相关资源
      最近更新 更多