Javascript 使用jQuery表单提交Ajax有时不起作用
我正在使用Ajax和jQuery进行表单数据提交。 当我在弹出窗口中提交表单时,我刷新父页面。 我的代码:Javascript 使用jQuery表单提交Ajax有时不起作用,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我正在使用Ajax和jQuery进行表单数据提交。 当我在弹出窗口中提交表单时,我刷新父页面。 我的代码: 然而,当回调成功时,页面被刷新,但我在父页面上看不到更新。有时我能看到更新,有时看不到。问题是什么?我还需要知道如何用本机javascript编写它,并使用ajax javascript提交表单。可能是因为javascript是异步的,即使您尚未收到请求的响应,您的代码也会继续运行,所以您会出现此错误 试试这个: $(document).ready(function() {
然而,当回调成功时,页面被刷新,但我在父页面上看不到更新。有时我能看到更新,有时看不到。问题是什么?我还需要知道如何用本机javascript编写它,并使用ajax javascript提交表单。可能是因为javascript是异步的,即使您尚未收到请求的响应,您的代码也会继续运行,所以您会出现此错误 试试这个:
$(document).ready(function() {
$("#frm_addSpeedData").submit(function(event) {
//event.preventDefault();
$.ajax({
type: "POST",
url: "/webfdms/addSpeedDataAction.do",
data: $(this).serialize(),
async: false, // This will only proceed after getting the response from the ajax request.
success: function(data) {
//console.log("Data: " + data);
window.opener.location.reload();
}
});
});
});
但我可以看到页面正在刷新。这意味着ajax调用已经成功。问题是:假设您有一个验证,其中if字段“X”是数据库中的唯一值。当您运行AJAX来验证它时,您必须从数据库中获取数据,然后验证它是否唯一。如果请求需要很长时间,它可能会在不验证字段的情况下继续提交。如果我不清楚,请告诉我。在本例中,我无法复制该错误,因此使我更加困难。问题是什么?取消对该部分事件的注释。preventDefault();您必须防止submit函数的默认行为,否则使用ajax毫无乐趣。@psylogic它做什么?您是否使用firebug调试ajax方法调用返回200确定?是。还200好,我看得出来
$(document).ready(function() {
$("#frm_addSpeedData").submit(function(event) {
//event.preventDefault();
$.ajax({
type: "POST",
url: "/webfdms/addSpeedDataAction.do",
data: $(this).serialize(),
async: false, // This will only proceed after getting the response from the ajax request.
success: function(data) {
//console.log("Data: " + data);
window.opener.location.reload();
}
});
});
});