我遵循JS代码进行表单提交,我将表单提交保存在一个名为submitForm
的函数中,这样它就可以通过传递selector
来处理多个表单和 action
值传递给 submitForm
函数。
function submitForm(selector, action, onComplete) {
var response
$(selector).submit(function (e) {
e.preventDefault();
var data = $(this).serializeArray();
$.ajax({
type: 'POST',
url: action,
data: data,
dataType: 'json',
a
sync: false,
success: function (data) {
response = data;
}
});
});
return response;
}
submitForm(".lform", "user.php", function (response) { // Callback function
// Doing necessary stuff
});
上面的代码中,回调函数没有执行,可能是什么原因?在回调函数内部,有以下代码,
location.reload(); // To refresh the total DOM,
$(".c_form").dialog({
closeOnEscape: false,
title: title,
modal: true,
close: function () {
$(this).dialog('destroy').hide();
}
});
我想在页面重新加载完成后显示对话框,可以吗?
最佳答案
您无法返回响应
。那时,它仍然是未定义
,因为AJAX还没有在上面放置数据
。
您的回调函数是第三个参数onComplete
。 AJAX成功后,执行它并传递数据
:
success: function (data) {
onComplete(data);
}
关于javascript - JS : Callback function is not executing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15984923/