gpt4 book ai didi

jquery - ajax 重新加载页面

转载 作者:行者123 更新时间:2023-12-01 00:43:18 24 4
gpt4 key购买 nike

我的index.jsp页面,使用这行代码加载我的表单:

 $('#box').load('/Edit_Data.jsp?id=' + myID);

然后,我可以正确编辑表单中呈现的数据。完成后,我单击触发此功能的按钮:

function save() {
$.ajax({
type: 'POST',
cache: false,
url: '/Edit_data',
data: $('form[name="formData"]').serialize(),
complete : function(jqXHR,textStatus) {
alert("complete " + jqXHR.responseText );
},
error: function(jqXHR,textStatus){
alert("status " + textStatus + ", response :" + jqXHR.responseText);
}
});

}

和我的 java servlet 的路径“/Edit_data”,返回:

  resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/xml");
String xml = "<report><error_msg></error_msg></report>";
resp.getWriter().println(xml);

点击按钮后的行为是:

  1. 请求已正确发送
  2. 我收到错误警报消息:状态错误,响应:
  3. 然后,我收到完整的消息:complete(responseText为空)
  4. 最后,它使用 Get 请求重新加载我的 index.jsp 页面,其中包含我发送到 servlet 的参数。像这样:http://localhost:8888/index.jsp?name=test&firstname=test

我的问题是:为什么在ajax请求完成后,index.jsp页面会重新加载。正确的行为应该是:在请求之后,不应该执行任何操作,因为我处理了完整的功能

一个线索应该是servlet返回的错误消息,但我看不到错误的完整内容,所以我不明白是什么触发了错误......

另一个重要线索,我只在 Firefox 和 Chrome 上遇到这个问题。它适用于 IE。

你能帮我解决这个问题吗?

非常感谢,

bat

最佳答案

Ajax是异步请求的意思...理想情况下,如果您没有犯任何错误,它不应该重新加载。好吧,你可以使用return false;或者在调用 ajax 函数 onclick="return AjaxFunction(); 对于您的情况,可能是: onclick="return save();

希望这能解决您的问题。

干杯!

关于jquery - ajax 重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062630/

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