我在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");
}
});
答案 0 :(得分: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,您可以以您选择的格式快速显示该日,而无需手动迭代所有项目。
正如我所提到的,很难具体,因为我不知道你想要完成什么,但我希望这会有所帮助。