我不知道如何实现这一目标。 我正在使用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及其所有参数?这样我就可以再次刷新链接。
答案 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>');
}
});
}