我正在进行ajax调用,如下所示:
util.AjaxCall(url,successCallbackFunction,errorCallbackFunction);
function successCallbackFunction(result){
//Ajax returns result
}
一切正常,但我必须传递一个我自己的参数才能在'successCallbackFunction'上使用。
像
这样的东西function successCallbackFunction(result, passedParameter){
}
我该怎么做?
注意:我无权访问util.AjaxCall源代码(我无权更改该代码)。
答案 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;
}