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

时间:2013-11-25 07:44:14

标签: javascript jquery

我不知道如何实现这一目标。 我正在使用jQuery 1.9进行ajax回调。

我有一个功能,让我们说:

function a (param){

    //calling a function this will perform ajax
    data = performAjax(param, url, etc);

    // render response
    renderResponse(data);
}

我们在执行ajax函数时执行我们的ajax。 问题是当ajax失败然后它执行ajaxError函数。 我在div中添加了一条消息,请再次刷新。

如何在ajaxError函数中获取函数a及其所有参数?这样我就可以再次刷新链接。

2 个答案:

答案 0 :(得分:1)

不确定我是否理解正确,但在这里:

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-call失败时,它会将失败的函数调用存储到lastFailedFunction。所以在其他地方你可能会显示这条消息:

<div>Function A failed, <a href="#" onclick="lastFailedFunction(); return false;">click here</a> to try again</div>

答案 1 :(得分:1)

使用 错误 回调ajax,您可以收到错误消息

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>');
      }
    });
}