如何将其他参数传递给ajax回调函数?

时间:2014-01-14 00:43:36

标签: javascript jquery ajax

我正在进行ajax调用,如下所示:

util.AjaxCall(url,successCallbackFunction,errorCallbackFunction);

function successCallbackFunction(result){
   //Ajax returns result
}

一切正常,但我必须传递一个我自己的参数才能在'successCallbackFunction'上使用。

这样的东西
function successCallbackFunction(result, passedParameter){
}

我该怎么做?

注意:我无权访问util.AjaxCall源代码(我无权更改该代码)。

2 个答案:

答案 0 :(得分:2)

您可以使用bind

util.AjaxCall(url,
              successCallbackFunction.bind(this, passedParameter),
              errorCallbackFunction);

第一个参数是函数范围,在您的情况下可以忽略不计。

然后会使用其他(前置)参数触发您的successCallbackFunction

function successCallbackFunction(passedParameter, result){}

答案 1 :(得分:0)

通常,当您发送/接收Ajax请求时,您使用JSON格式交换数据。 这样您就可以将数据作为JSON对象接收。

例如,如果以下行是通过Ajax调用的返回结果

{"firstname":"john","lastname":"doe"}

然后您可以通过

来检索数据
function successCallbackFunction(result){
  var obj = jQuery.parseJSON(result);  // if you are using Jquery if not use eval
  // var obj = eval(result);           // this is not recommeneded for security issue.
  var firstname = obj.firstname;
  var lastname = obj.lastname;
}