![](/img/trans.png)
[英]How to submit form values in JSON format to a servlet using AJAX?
[英]how to get the form data in JSON format in servlet
我的html代码是
<form action="/FirstServlet/Profile" method="post" class="login">
UserName: <input type="text" id="uName" name="name"><p>
Password: <input type="password" id="password" name="password"><br>
<input type="submit" id="button" value="login">
</form>
和JavaScript代码是
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/jquery.serializeObject.js"></script>
<script src="js/Gruntfile.js"></script>
<script>
$(document).ready(function(){
var form=$('form.login').serializeObject();
alert(form);
form.submit(function(){
$.ajax({
type:form.attr('method'),
url:form.attr('action'),
dataType:'json',
data:Json.stringify(form),
success:function(data){
}
});
});
});
</script>
但是我仍然以这种格式得到答案
name=zeeshan&password=zeeshan@123
我想以json格式获得答案,例如:
{"name":"zeeshan","password":"zeeshan@123"}
我的servlet代码获取数据
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String json = "";
if(br != null){
json = br.readLine();
}
System.out.println(json);
}
我搜索了很多内容,每个人都说此代码的输出在json中,但实际上我没有以这种格式获取它。
如何获取我的输出为JSON格式?
看来您在发送前将其加密了,这可能是问题所在
您可以在javascript中尝试这种解决方法:
data:{'json':JSON.stringify($(form).serializeArray())},
在servlet中:
String json=request.getParameter("json");
编辑:
data:{'json':JSON.stringify($(form).serializeObject())},
更改
<input type="submit" id="button" value="login">
至
<input type="button" id="button" value="login">
单击输入类型Submit,直接提交表单并重新加载页面,因此永远不会调用您的脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.