jquery - 获取根节点属性,jQuery/XML

标签 jquery xml ajax response

这可能是如此微不足道,以至于我羞于问这个......

为什么这不起作用?

<?xml version="1.0" encoding="UTF-8"?>
<filter id="4" max_values="10">
    <value id="9">strategy</value>
    <value id="11">simulation</value>
    <value id="12">shooter</value>
</filter>

这是我请求页面时得到的 xml 响应:

$.post('afilters/getvaluesXml', {filter_id: fid}, 
            function(response){
                var fields;
                alert(response);

                var filter_id = $(response).find('filter').attr('id');
                var max_values = parseInt($(response).find('filter').attr('max_values'));

                alert('filter_id: '+filter_id+' max_values:'+max_values);

                $(response).find('value').each(function(){
                    var id = $(this).attr('id');
                    var value = $(this).text();

                    if(max_values == 1){
                        fields = fields+'<input type="radio" name="'+filter_id+'" value="'+id+'"/>'+value+'<br/>';
                    } else {
                        fields = fields+'<input type="checkbox" name="'+filter_id+'[]" value="'+id+'"/>'+value+'<br/>';
                    }

                });
                //alert(fields);
                $('#'+filter_id+'_values').text(fields);
            });

除了我无法获取 filter_id 和 max_values 属性之外,一切正常。 这是警报框内容:

filter_id:空 max_values:NaN

而且,为什么当我按照 jquery .post() docu 中的描述指定数据类型“xml”时,没有任何回复给我(没有收到任何响应 - 回调永远不会执行)。

最佳答案

我尝试将dataType设置为xml,它的工作就像一个魅力,看看这个片段:

$.post('afilters/getvaluesXml', {filter_id: fid}, function(response){
  var filter_id = $('filter', response).attr('id');
  var max_values = parseInt($('filter', response).attr('max_values'));
  alert('filter_id: '+filter_id+' max_values:'+max_values);
 }, 'xml');

关于jquery - 获取根节点属性,jQuery/XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314774/

相关文章:

java - 将 int 传递给 Android 应用程序的 .xml

javascript - 在 $.POST 上获取 ERR_EMPTY_RESPONSE

javascript - 如何在Ajax中绕过GET请求方法的当前页面?

javascript - 响应文本比较

jQuery getJSON 在本地工作,但不能跨域

javascript - 我无法启用选择

android - Android应用突然崩溃

jquery - 出现在内容上方的 HTML jQuery slider

javascript - jQuery 保存局部变量以供稍后在代码中使用

C# XML 读取 foreach 总是第一个值