我试图使用HTML表单将记录插入MySQL数据库.我正在使用AJAX来调用Java中的Web服务.但它没有用.它给出了一个虚假的警告.当我尝试使用POSTMAN时,它工作正常.但是使用AJAX它不起作用.
有谁能够帮我?提前致谢.
Add.jsp中的代码
<body>
<form id="submit">
Username:<br>
<input type="text" name="username"><br>
Email:<br>
<input type="email" name="email"><br><br>
Password:<br>
<input type="text" name="password"><br><br>
<input type="submit" value="Submit">
</form>
</body>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").submit(function(event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "http://localhost:8080/WebService/webresources/users/insert",
data: formToJSON(),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data)
{
alert('Success');
},
error: function(jqXHR, textStatus, errorThrown)
{
alert('Error: ' + textStatus);
}
});
});
});
function formToJSON()
{
return JSON.stringify
({
"username": $('#username').val(),
"email": $('#email').val(),
"password": $('#password').val()
});
};
</script>
服务代码
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("/insert")
public boolean insertUsers(String content)
{
Gson g = new Gson();
Users u = (Users) g.fromJson(content, Users.class);
UsersDAO dao = new UsersDAO();
return dao.insertUsers(u);
}
解决方法:
您必须为所有输入字段添加id.
试试这个.
<body>
<form id="submit">
Username:<br>
<input type="text" id="username" name="username"><br>
Email:<br>
<input type="email" id="email" name="email"><br><br>
Password:<br>
<input type="text" id="password" name="password"><br><br>
<button id="submit">Save</button>
</form>
</body>
在这,你必须改变这一点,
$("#submit").submit(function(event)
进入这个,
$("#submit").click(function(event)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。