如何为返回的Json动态创建ajax链接

时间:2012-10-10 08:39:28

标签: javascript json

我有以下javaScript,它将在页面加载时执行: -

$(document).ready(function () {

    $.ajax({
        type: "GET",
        url: "http://localhost:8080/jw/web/json/workflow/package/list?loginAs=admin",

        dataType: "JSONP",
        // contentType: "application/json; charset=utf-8",
        success: function (result) {
            $.each(result.data, function (key, val) {

                // Format the text to display.
                var str = val.packageName ;
                // Add a list item for the product.
                $('<li/>', { text: str })
                .appendTo($('#products'));

            });
        }
    });
});

和asp.net网页有以下列表,其中列表中的每个项目代表一个JSON对象: -

<h1>All Processes</h1>
<ul id="products"/>

但我想要做的不是只显示列表中的val.packageName,而是为每个josn对象动态创建一个ajax链接,当用户点击这个ajax链接调用另一个API时, .../web/json/workflow/process/list?packageId=val.packageName然后在另一个列表中显示返回的JSON。 但任何人都可以帮助我如何执行这样的功能? BR

2 个答案:

答案 0 :(得分:2)

我相信这是处理列表中事件的方式(http://the-jquerymobile-tutorial.org/jquery-mobile-tutorial-CH11.php

这对我来说非常适合稍作改动......

$('ul#products li').click(function(o){
    // alert($(this).text())
    // call your other api here...
});

以这种方式使用:

$(document).on('click', 'ul#products li', function(e){
    alert($(this).text());
});

另请查看这些选择器:http://www.w3schools.com/jquery/jquery_selectors.asp

问候:)

答案 1 :(得分:0)

测试小提琴 - http://jsfiddle.net/picklespy/zWQHh/

只需将列表项添加到上面的ul,然后将以下内容添加到您的javascript代码中:

$('ul#products li').click(function(o){
    // alert($(this).text())
    // call your other api here...
});

这将为<ul id="products">中的每个列表项添加一个点击处理程序,点击后,它将调用您的第二个ajax。

希望这有帮助。