我正在尝试使用.ajaxSubmit()。我想传递它的选项对象。我想根据用户的行为创建此选项对象。所以我就是这样做的:
$('#my-form').ajaxSubmit(GetSearchAjaxFormOptions(param1, param2));
function GetSearchAjaxFormOptions(param1, param2) {
return { target: '#results',
data: GetData(),
success: RunAfterAjaxSubmit(param1, param2)
};
}
function RunAfterAjaxSubmit(param1, param2) {
// do stuff
}
除了在ajax调用返回之后调用RunAfterAjaxSubmit以及在以下行进行ajax调用之前调用RunAfterAjaxSubmit之外,一切正常:
成功:RunAfterAjaxSubmit(param1,param2)
如何更改我的代码,以便仅在返回ajax调用后调用它。
非常感谢!
答案 0 :(得分:1)
这听起来像关闭工作。 ajax success属性需要一个回调函数,它将尝试将其返回的数据作为第一个参数。如果您仍想使用param1和param2
,请执行此类操作$('#my-form').ajaxSubmit(GetSearchAjaxFormOptions(param1, param2));
function GetSearchAjaxFormOptions(param1, param2) {
return { target: '#results',
data: GetData(),
success: RunAfterAjaxSubmit(param1, param2)
};
}
function RunAfterAjaxSubmit(param1, param2) {
return function(ajaxData){
//do stuff with param1 and param2 here as well as the ajaxData it returns if any
}
}
答案 1 :(得分:0)
将成功线更改为:
success: function () { RunAfterAjaxSubmit(param1, param2)}
修复了问题