gpt4 book ai didi

java - 如何在spring mvc中将用户表单数据发送到服务器

转载 作者:搜寻专家 更新时间:2023-11-01 03:22:43 26 4
gpt4 key购买 nike

我有一个这样的登录表单:

<form:form modelAttribute="user" method="post" enctype="application/x-www-form-urlencoded">
<form:input path="userEmailId" />
<form:password path="userPassword />
<input type="submit" value="sign up" />
</form:form>

这是我的用于 setter 和 getter 的 user.java

public String getUserEmailId() {
return userEmailId;
}

public void setUserEmailId(String userEmailId) {
this.userEmailId = userEmailId;
}

public String getUserPassword() {
return userPassword;
}

public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}

点击注册后,我希望这个值先转换为json,然后通过post方法将这个值发送到服务器。我想使用 RESTful WEB 服务来实现这一点。对此有什么想法吗?

最佳答案

您可以使用JSON 将表单序列化为json 对象,然后使用AJAX 向您的网络服务发送post 请求:

$(function() {
$('#formId').submit(function(event) {
event.preventDefault(); // prevent this form from being submited
var userJson = JSON.stringify(jQuery('#formId').serializeArray());
$.ajax({
type: "POST",
url: "/Path/To/Your/Web/Service",
data: userJson,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){
alert(data);//handle it in a proper way
},
failure: function(errMsg) {
alert(errMsg);//handle it in a proper way
}
});
return false;
});
});

然后在您的 WebService 上,您应该有一个方法来处理这个发布请求:

@Controller
@RequestMapping("/path/to/your/web/service")
public class WebServiceController{

@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity<String> handleLogin(@RequestBody User user){
//user contains data passed from UI form. Check it against your repository(database ? )

}
}

请注意,此示例只是一个足够简单的示例,并未考虑与安全相关的任何方面。

关于java - 如何在spring mvc中将用户表单数据发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25441135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com