0

我在我的 Struts2 应用程序中使用 jQuery.get/post 方法。

请参阅以下代码。此 URL 返回“成功”和“错误”。它将命中一个方法并返回一个字符串(struts2)。我制作了包含这些字符串的 JSP。

但我想改变这种方法。如果我必须返回一个对象列表。我将要做的。在 jQuery 中如何处理返回对象列表的方法。JSON 将如何帮助我?我需要一个指针。

我希望我的观点被理解。

jQuery.post("register_user.action" , jQuery("#user_form").serialize(),
    function(data){
        if (data == "success"){
            jQuery("#success").dialog("open");
        }else if (data == "error"){
            jQuery("#error").dialog("open");
        }
    });
4

1 回答 1

0

很难回答“JSON 将如何帮助您?”这个问题。没有您正在做什么的具体背景,但我可以提供通用答案。JSON 代表 javascript 对象表示法。它有很多用途,但相对于您的问题,它允许您将数据的序列化表示从服务器发送到客户端,而不会出现 XML 附带的“膨胀”。使用 JSON 而不是 XML 的另一个优点是现代浏览器已经内置了对它的支持,因此您不必担心解析数据。

您可以访问类的属性等数据。

以您的示例为例,您可以返回一个对象(我通常在这种情况下使用匿名对象),其中一个名为“success”的 BOOL 属性序列化为 JSON。然后,您可以避免在您的 javascript 中进行字符串比较。在我个人看来,代码变得更加简洁。

jQuery.post("register_user.action" , jQuery("#user_form").serialize(),  
    function(data){  
        if (data.success){  
            jQuery("#success").dialog("open");  
        }else{  
            jQuery("#error").dialog("open");  
        }  
    });  

这将是最基本的示例。如果您从服务器向客户端返回一个序列化的数据列表,JSON 会变得更加强大。假设您以 JSON 格式发送评论列表。然后,您可以使用 jquery 模板将该列表与模板和 vuala 绑定,您可以以您选择的格式快速显示当天,而无需手动遍历所有项目。

正如我所提到的,很难具体说明,因为我不确切知道您要完成什么,但我希望这会有所帮助。

于 2011-10-28T05:42:52.250 回答