0

我有以下对 servlet 的 ajax 调用。

$.ajax({ 
type: "post",
url: registersubmit.RegisterServlet.json,
dataType: "json",   
data:$('#registrationForm').serialize(),          
success: function(msg) {  
           //   alert(msg.data);
           alert('success'+msg.message2);     
},
error: function (xhr, ajaxOptions, thrownError){
         alert('HAI');
         alert('BYE');
}  
});

我可以知道我们如何使用 servlet 中的 json 对象吗

谢谢,巴拉吉。

4

2 回答 2

1

您可以使用GSON 库一个 Java 库,可用于将 JSON 表示转换为 Java 对象,反之亦然

于 2012-10-21T15:56:33.340 回答
1

这里有一个很大的误解。您发送 ajax 请求的方式根本不会出现在服务器端的 JSON 对象中。所有数据都可以通过request.getParameter()通常的方式获得。只是将表单的$.serialize()所有输入值收集到一个 JSON 对象中,该对象又在幕后以$.ajax通常的方式编码为 HTTP 查询字符串。JSON 对象只是一种中间格式,它允许使用$.ajax.

所以,数据

<form id="registrationForm" ...>
    <input name="foo" ... />
    <input name="bar" ... />
    <input name="baz" ... />
</form>

可以在 servlet 中以与同步(常规)提交完全相同的方式收集

String foo = request.getParameter("foo");
String bar = request.getParameter("bar");
String baz = request.getParameter("baz");
// ...

请注意,该dataType选项指示 jQuery应将响应$.ajax()视为哪种数据类型。它与请求如何发送数据完全没有关系。它只是以通常的方式作为 HTTP 请求参数发送。另请参阅文档$.ajax()

也可以看看:

于 2012-10-22T01:47:47.113 回答