我想在javascript中进行错误处理。
我想记录javascript中发生的错误。
我不想使用数据库来存储错误。我想将所有错误存储在txt文件中(该txt文件应该存在于托管该网站的服务器中。所以其他人不能访问该文件。
如何做到上述要求。
我在Google搜索并找到了
function WriteToFile() {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:\\Test.txt", true);
s.WriteLine('Hello');
s.Close();
}
这也不适用于所有条件。
1。您正在使用非ie浏览器(不支持activex对象)
2。你在安装了sp2的xp机器上使用了ie浏览器,并且阻止了activex对象
所以请帮我解决这个问题。
提前致谢。
答案 0 :(得分:1)
首先使用try / catch检测错误:
try
{
// code that could error here
}
catch(err)
{
// do an ajax call to the server
}
在catch
块中,您可以对服务器执行ajax调用。在服务器上,您将需要一些服务器端脚本(例如PHP,ASP等)来处理请求并将错误记录到本地文本文件。在上面的catch块中,err.message
将为您提供错误消息字符串,您可以将其包含在ajax调用中。
答案 1 :(得分:0)
您可以使用替代方式处理错误,如下面的代码
jQuery.ajax({
type: "POST",
url: "urlpage",
dataType: "html",
data: "types":$("#catid").val(),
success: function (response) {
alert("Successfully!!!");
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
当发生任何错误时,您可以再次调用另一个ajax函数或相同的函数。
这主要适用于处理错误的所有ajax调用,请尝试使用它。