我想创建一个函数,用一个参数来调用jQuery $ .ajax函数,该参数指示在成功事件之后必须调用的成功函数名。
这样的东西,但我不知道如何填写“完整”参数,或者即使可以这样做:
function callService(successFunctionName){
$.ajax({
url: "serviceURL",
type: "POST",
data: "request",
contentType: "text/xml; charset=\"utf-8\"",
complete: successFunctionName
});
}
succesFunction1(){
}
successFunction2(){
}
编辑:我必须澄清successFunctionName是一个字符串
答案 0 :(得分:1)
如果successFunctionName
是字符串,则可以使用window[successFunctionName]
。如果是功能本身它应该已经工作
function callService(successFunctionName) {
$.ajax({
//...
complete: (typeof successFunctionName === "string" ? window[successFunctionName] : successFunctionName)
})
}
答案 1 :(得分:0)
你所做的是正确的。
拨打callService
时,您会这样做:
callService(function(resp)
{
alert('Success: ' + resp);
}):
答案 2 :(得分:0)
我认为您希望回拨Ajax成功,而不是完成?
为了成功:
$.ajax({
......
success: successFunctionName
});
完成:
$.ajax({
......
}).done(function(){
successFunctionName();
});