gpt4 book ai didi

java - 使用 jQuery 通过 POST 向 java 方法发送和接收数据

转载 作者:行者123 更新时间:2023-12-01 09:13:06 25 4
gpt4 key购买 nike

作为 Java EE 和 RESTful 开发的新手,我今天有一个问题。让我首先添加到目前为止的代码。

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 被发送回来。

有办法解决这个问题或者解决这个问题吗?另外,如果您对我当前的代码有任何其他提示或改进,我将非常感激,因为它是我了解更多信息的直观方式。

感谢您的帮助,非常感谢。

编辑:我的表单也有 method="POST"

最佳答案

如果问题出在 e.preventDefault 中,您可以尝试通过单击普通按钮(而不是输入 type=submit 字段)来进行帖子提交。

改变

<input type="submit" 
name="Submit"
id="btnSub"/>

<input type="button" 
value="Submit"
id="btnSub"/>

还有

 $("form").submit(function (e) {
e.preventDefault(e);

$("#btnSub").click(function () {

关于java - 使用 jQuery 通过 POST 向 java 方法发送和接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40793387/

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