Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax中的refer函数名,失败时反向回调_Javascript_Jquery - Fatal编程技术网

Javascript ajax中的refer函数名,失败时反向回调

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失败时,它会

我不知道怎样才能做到这一点。 我使用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失败时,它会执行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
。我已经更新了答案。