我有一堆AJAX调用可能会引发错误。它们中的每一个都调用我设置的ShowError(e,f)函数。e参数是错误对象,f参数是一个函数,如果用户点击再次尝试,我向他们展示它们。我已经让它调用重试函数,但我也想记录它。我可以调用 f.toString() 来获取重试函数的代码,但是我正在寻找代码正在使用的值,但我无法找到它们。
原话:
function callServer(a,b,c) {
$.ajax({
type: "POST",
url: '/ajax/code/that/might/produce/an/error/',
data: JSON.stringify({ a: a, b: b, c: c }),
contentType: "application/json; charset=utf-8",
dataType: "json",
accepts: "application/json",
success: function (result) {
alert("good");
},
error: function (e) {
showError(e, function () { callServer(a, b, c); });
}
});
}
显示错误函数
var reTryFunction;
function showError(e, f) {
reTryFunction = f;
$("#hdnJSError").val((JSON.stringify(e)).replace(/</g, "<").replace(/>/g, ">"));
$("#ErrorModal").modal("show");
}
用户点击“错误模式”对话框中的重试按钮时调用的重试函数
function retry()
{
$.ajax({
type: "POST",
url: '/ErrorReport',
data: JSON.stringify({ txtErrorReport: $("#txtErrorReport").val(), hdnJSError: $("#hdnJSError").val(), reTryFunction: reTryFunction.toString() }),
contentType: "application/json; charset=utf-8",
dataType: "json",
accepts: "application/json",
success: function (result)
{ },
error: function (result)
{
}
});
$("#txtErrorReport").val("");
$("#ErrorModal").modal("hide");
reTryFunction();
}
这样做,我可以有一个通用的错误处理程序,它向我显示“function(){callServer(a,b,c)}”是错误的,但我想知道a,b和c的值是什么(以通用方式,所以如果最初调用函数有1或9999个参数传递给它,它仍然告诉我的错误记录器传递给它什么。
侃侃尔雅
相关分类