1

我想在 javascript 中进行错误处理。

我想记录 javascript 中发生的错误。

我不想使用数据库来存储错误。我想将所有错误存储在 txt 文件中(该 txt 文件应该存在于托管该网站的服务器中。这样其他人就无法访问该文件.

如何做到以上要求。

我在谷歌搜索并找到

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对象被阻止

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

提前致谢。

4

2 回答 2

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 调用中的错误消息字符串。

于 2012-11-30T11:56:03.080 回答
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调用,试试吧。

于 2012-11-30T12:21:33.943 回答