0
作为Java EE和RESTful开发的新角色,我今天有一个疑问。让我开始添加我的代码到目前为止。使用jQuery通过POST发送和接收数据到java方法
的HTML和jQuery部分:
<form id="frmEmail" action="myurl/">
<h2>Main page</h2>
<br>
<output>Email Address:</output>
<input type="email"
id="email"
placeholder="Email Address"
name="emailAddress" required autofocus/>
<br>
<input type="submit"
name="Submit"
id="btnSub"/>
<br>
<br>
<output id="output"></output>
</form>
<script>
$(document).ready(function() {
$("form").submit(function (e) {
e.preventDefault(e);
$("#btnSub").val("Loading...");
$("#btnSub").prop("disabled", true);
var email = $('#email').val();
load(email);
});
});
function load(email) {
$.post("myurl/" + email, function (data) {
document.getElementById("output").innerHTML = data.message;
$("#btnSub").val("Submit");
$("#btnSub").prop("disabled", false);
});
};
</script>
我的Java类:
@Path("mypath")
public class main {
@POST
@Path("{address}")
@Produces(MediaType.APPLICATION_JSON)
public Response message(@PathParam("address") String address) {
emailVerifier verify = new emailVerifier(); // Class that tests an email address
String status = verify.verifyAddress(address);
outputResponse response = new outputResponse(); // Just a class with a private String and accessor and mutator methods
response.setMessage(status);
if ("Bad Request".equals(status)) {
return Response.status(Response.Status.BAD_REQUEST).entity(response).build();
} else {
return Response.ok().entity(response).build();
}
}
}
虽这么说,我的代码运行正常,并且只要我的HTML代码不是400或多达我有没有问题,但因为我使用e.preventDefault(e)我的代码运行到一个无限循环,如果我可以在状态BAD_REQUEST被发回时描述它。
有无论如何解决这个问题或有工作?此外,如果您对我的当前代码有任何其他提示或改进,我将非常感谢它作为直观的方式来了解更多信息。
感谢您的任何帮助,这是非常感谢。
编辑:我的形式也有方法=“POST”
是我的回答有帮助吗?然后点击左侧的复选标记并向上箭头键,即可接受并上传它。如果仍有问题,请提供更多信息。 –