将变量传递给AJAX XML GET

时间:2011-09-07 10:54:49

标签: jquery xml ajax xpath

尝试根据用户点击的链接拉取不同的节点。 我遇到的问题是将变量传递给Ajax。

当前代码:

XML

<?xml version="1.0" encoding="iso-8859-1"?>
 <modules>
   <module id="1">
     <title>Title 1</title>
     <link>
        <Ltitle>A Sub title</Ltitle>
        <Lurl>http://www.alink.com</Lurl>
     </link>
   </module>
   <module id="2">
     <title>Title 2</title>
     <link>
        <Ltitle>A Sub title</Ltitle>
        <Lurl>http://www.alink.com</Lurl>
     </link>
   </module>
 </modules>

HTML

<a href="#" rel="1">One</a>
<a href="#" rel="2">Two</a>

Jquery

var ajaxDataCollection = function(){
            var xmlSelect = $("a").attr('rel');
            alert(xmlSelect)
            $.ajax({
                type: "GET",
                url: "data.xml",
                dataType: "xml",
                success: function(xml) {
                    $(xml).find("module[id='+xmlSelect+']").each(function(){
                        var id = $(this).attr('id');
                        var title = $(this).find('title').text();
                        $('<li><h3>Module '+id+' :: <b>'+title+'</b></h3></li>').appendTo('.subMenu ul');
                        //<li><h3>Module 4 :: <b>Structures</b></h3></li>
                        $(this).find('link').each(function(){
                                    var Ltitle = $(this).find('Ltitle').text();
                                    var Lurl = $(this).find('Lurl').text();
                                    $('<li><a href="'+Lurl+'">'+Ltitle+'</a>').appendTo('.subMenu ul');
                                    //<li><a href="#">Bonjour</a></li>
                                });
                    });
                }
            });
        };
        ajaxDataCollection();

1 个答案:

答案 0 :(得分:0)

我假设您正在获取xml响应,使用.parseXML解析xml,在$中包装xml响应并使用DOM遍历方法访问它不是非常跨浏览器,我创建了一个小小的希望,将有助于

http://jsfiddle.net/r4SBr/