0

我有一个带有返回 json 数据的方法的 struts 2 动作类。

我的jsp上有8个标签。当用户单击选项卡时,我想对此方法进行 ajax 调用。我希望使用可以在此选项卡中呈现的 html 来解析和修饰返回的 json 数据。

我正在使用 jquery tabs 来制作tabs

  • 如何捕获返回的 json 数据?我可以订阅 jquery 发布的一些事件吗?
  • 如何处理返回的 json 数据?例如;json数据:

{ 城市 : {name="New York", alias="NY", imgPath="filePath/img1.jgp"} }

我想提取名称并将其加粗。使用 imgPath 定义 img 标签等

4

2 回答 2

1
 $(document).ready(function () {
            var data = { "City": [{ "name": "New York1", "alias": "NY1", "imgPath": "filePath/img1.jgp" }, { "name": "New York2", "alias": "NY2", "imgPath": "filePath/img2.jgp" }, { "name": "New York3", "alias": "NY3", "imgPath": "filePath/img3.jgp" }, { "name": "New York4", "alias": "NY4", "imgPath": "filePath/img4.jgp"}] };

            if (data.City.length > 0) {
                $('body').prepend('<div id="tabs1"><ul></ul></div>');

                $.each(data.City, function (i, entity) {
                    $('#tabs1 ul').append($('<li><a href="#tabs1-' + (i + 1) + '">' + entity.name + '</a></li>'));
                    $('#tabs1').append('<div id="tabs1-' + (i + 1) + '"><p>Image Path:' + entity.imgPath + '</p></div>');
                });

                $("#tabs1").tabs();
            }
        });​

对于现场演示,请参阅此链接:http: //jsfiddle.net/nanoquantumtech/ffbx5/

于 2012-05-23T07:40:18.270 回答
0

您可以通过将 data 参数传递给将在成功时执行的 ajax 调用成功回调方法来捕获返回的 Json 数据。 http://api.jquery.com/jQuery.ajax/

您可以使用jQuery parse.json方法并将json字符串传递给它。http://api.jquery.com/jQuery.parseJSON/

您的示例 json 字符串看起来不是有效的另一件事。您可以通过简单地粘贴您的 json 数据或粘贴 url从这个链接http://jsonlint.com/检查您的 json 是否有效。

于 2012-05-23T06:00:55.577 回答