1

我想创建一个函数来调用 jQuery $.ajax 函数,其参数指示成功事件后必须调用的成功函数名称。

像这样的东西,但我不知道如何填写“完整”参数,或者即使可以这样做:

function callService(successFunctionName){
$.ajax({
 url: "serviceURL",
 type: "POST",
 data: "request",
 contentType: "text/xml; charset=\"utf-8\"",
 complete: successFunctionName
});

}

succesFunction1(){
}

successFunction2(){
}

编辑:我必须澄清successFunctionName是一个字符串

4

3 回答 3

1

IfsuccessFunctionName是一个字符串,您可以使用window[successFunctionName]. 如果它是函数本身,它应该已经工作了

function callService(successFunctionName) {
    $.ajax({
        //...
        complete: (typeof successFunctionName === "string" ? window[successFunctionName] : successFunctionName)
    })
}
于 2012-05-31T11:21:26.940 回答
0

你所做的是正确的。

打电话给你时,callService你会这样做:

callService(function(resp)
{
    alert('Success: ' + resp);
}):
于 2012-05-31T11:23:06.817 回答
0

我想你想回电 Ajax 成功,不完整?

为了成功:

 $.ajax({
   ......    
   success: successFunctionName

  });  

对于完整的:

  $.ajax({
   ......    
  }).done(function(){
     successFunctionName();
  });
于 2012-05-31T11:24:15.500 回答