我有一堆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個參數傳遞給它,它仍然告訴我的錯誤記錄器傳遞給它什么。
javascript錯誤記錄器正在傳遞一個重試函數,我想記錄的詳細信息
呼啦一陣風
2022-08-27 10:57:01