使用 Java、AJAX 使用 Rest Web 服务将表单数据插入 MySQL 数据库
Posted
技术标签:
【中文标题】使用 Java、AJAX 使用 Rest Web 服务将表单数据插入 MySQL 数据库【英文标题】:Insert form data into MySQL database using Rest Web Services using Java, AJAX 【发布时间】:2018-09-01 08:51:34 【问题描述】:我正在尝试使用 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);
【问题讨论】:
Users
类里面有什么?你用过调试器吗?
@NikolayShevchenko Getter 和 Setter 在那里。
【参考方案1】:
您必须为所有输入字段添加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)
【讨论】:
以上是关于使用 Java、AJAX 使用 Rest Web 服务将表单数据插入 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章
无法在 iPhone 的 PhoneGap 中使用 AJAX(简单 javascript)调用基于 REST 的 Web 服务
ajax 调用 jersey rest web 服务中的 Access-Control-Allow-Origin