Javascript 为成功回调使用不同的参数
我正在处理别人的代码。我在jQuery中有一个简单的AJAX调用:Javascript 为成功回调使用不同的参数,javascript,jquery,Javascript,Jquery,我正在处理别人的代码。我在jQuery中有一个简单的AJAX调用: function getWSData (which, data, idVR) { if(which == 'verCandAll') { funcSuccess = verCandSuccess; data = {'name' : 'val'}; } else { funcSuccess = verElseSuccess; data = {'name
function getWSData (which, data, idVR)
{
if(which == 'verCandAll')
{
funcSuccess = verCandSuccess;
data = {'name' : 'val'};
}
else
{
funcSuccess = verElseSuccess;
data = {'name2' : 'val2'};
}
$.ajax({
type: 'POST',
url: wsURL,
data: data,
success: funcSuccess,
error:function ()
{
$("#msg").ajaxError(function()
{
popWaiting(false);
alert(verGenericCallError);
});
},
dataType: 'xml'
});
}
function verCandSuccess(xml){ ... }
function verElseSuccess(xml){ ... }
这真的很简单。我唯一的问题是success
回调。在verElseSuccess
的情况下,我将向该函数发送第二个参数,更准确地说,我将处理idVR
(一个getWSData
的输入参数)。如何实现这一点?使用下划线.js函数:
funcSuccess = _.partial(verElseSuccess, idVR);
使用下划线.js函数:
funcSuccess = _.partial(verElseSuccess, idVR);
要实现此目标,您可以执行以下操作:
...
if(which == 'verCandAll') {
...
}
else {
// create an anonymous function that calls verElseSuccess with a second argument
funcSuccess = function(xml) {
verElseSuccess(xml, idVR);
};
data = {'name2' : 'val2'};
}
...
要实现此目标,您可以执行以下操作:
...
if(which == 'verCandAll') {
...
}
else {
// create an anonymous function that calls verElseSuccess with a second argument
funcSuccess = function(xml) {
verElseSuccess(xml, idVR);
};
data = {'name2' : 'val2'};
}
...