处理错误并将日志保存到文本文件

时间:2012-11-30 11:26:48

标签: javascript html5 error-handling

我想在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对象

所以请帮我解决这个问题。

提前致谢。

2 个答案:

答案 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调用,请尝试使用它。