Javascript ajax中的refer函数名,失败时反向回调
我不知道怎样才能做到这一点。 我使用jQuery1.9进行ajax回调 我有一个函数,比如说:Javascript ajax中的refer函数名,失败时反向回调,javascript,jquery,Javascript,Jquery,我不知道怎样才能做到这一点。 我使用jQuery1.9进行ajax回调 我有一个函数,比如说: function a (param){ //calling a function this will perform ajax data = performAjax(param, url, etc); // render response renderResponse(data); } 我们在performajax函数中执行ajax。 问题是当ajax失败时,它会
function a (param){
//calling a function this will perform ajax
data = performAjax(param, url, etc);
// render response
renderResponse(data);
}
我们在performajax函数中执行ajax。
问题是当ajax失败时,它会执行ajaxError函数。
我在div中放了一条消息,请再次刷新
但是如何获取函数a以及ajaxError函数中的所有参数?这样我就可以放置一个链接来再次刷新。不确定我是否理解正确,但这里是:
function performAjax() {
return $.ajax({
....
});
}
var lastFailedFunction;
function a (param){
var args = arguments;
//calling a function this will perform ajax
performAjax().then(function(data) { // on success
// render reponse
renderResponse(data);
}, function() { // on failure
lastFailedFunction = function() {
a.apply(a, args);
};
// now you can call lastFailedFunction() to try again
});
}
当ajax调用失败时,它会将失败的函数调用存储到lastFailedFunction
。因此,在其他地方,您可能会显示以下消息:
<div>Function A failed, <a href="#" onclick="lastFailedFunction(); return false;">click here</a> to try again</div>
函数A失败,无法重试
使用ajax的error回调,您可以得到错误消息
function a(param) {
var performAjax = $.ajax({
type: "",
url: "",
data: "",
success: function(msg){
//success msg
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//can access param of fun a and the error message
//append it to the body
$('body').append('<div>'+param+' error: '+errorThrown+'</div>');
}
});
}
函数a(参数){
var performAjax=$.ajax({
类型:“,
url:“”,
数据:“,
成功:功能(msg){
//成功味精
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
//可以访问fun a的参数和错误消息
//将其附加到正文中
$('body').append(''+param+'错误:'+errorshown+'');
}
});
}
friend如果ajax在该函数中,这很好。但是我创建了一个全局函数来执行ajax。$。从我的问题中可以看出,ajax是另一个功能@developerCK我明白了,我们可以在其中传递函数名吗?示例data=performAjax(参数、url、a)
@developerCK您的函数就像performAjax(param,url,fuctionName){$.ajax({type:,url:,data:,success:function(msg){//success msg},error:function(XMLHttpRequest,textStatus,errorshown){//可以访问fun a的参数和错误消息//将其附加到正文中$('body').append('+'函数:'+fuctionName+param+'错误:'+errorshown+';}}});}
friend如果ajax在该函数中,这很好。但是我创建了一个全局函数来执行ajax。$。从我的问题中可以看出,ajax在另一个函数中!如果让performAjax
返回$的结果,这没有问题。ajax
。我已经更新了答案。