是否可以进行jQuery ajax调用,并将响应作为另一个函数的输入参数?
这是一个例子,我在一个位置调用了以下函数:
updateTips(validationTextObject,objUsers.fetchAvailable());
objUsers.fetchAvailable()函数对服务器进行ajax调用。 成功调用的回调函数就是这样的。它用于处理结果
BHUsers.prototype.recvAvailable= function(response){
// some kind of processing over here
return (response["status"] == "OK")? "Available" : "Not Available";
}
我希望该函数返回处理结果,该结果可用作函数updateTips
的参数这样做的主要目标是能够针对多个场景执行所有这些操作,而不是为同一个调用编写多个函数。此外,我希望调用和响应处理功能只是做他们正在做的事情。我不想在其中添加html对象。
任何线索?
答案 0 :(得分:1)
假设objUsers.fetchAvailable
的原型使用jquery发送ajax请求。
您可以像这样设置成功函数:
BHUsers.prototype.fetchAvailable = function(){
$.ajax({
url:'',
success: this.recvAvailable // bind success to `recvAvailable`
})
}
但是由于ajax成功回调有data, textStatus, XHR
个参数,你可以用匿名函数包装它。
BHUsers.prototype.fetchAvailable = function(){
var self = this;
$.ajax({
url:'',
success: function(data, textStatus, XHR){
self.recvAvailable(XHR); // bind success to `recvAvailable`
}
})
}