Javascript 通知错误?

Javascript 通知错误?,javascript,Javascript,我有一个脚本,允许用户对网站进行评级,但当用户试图离开网站或在页面加载之前对网站进行评级时,会显示一个错误,这会让用户感到困惑,因为实际上没有进行评级。所以我想知道是真的有必要显示错误,还是我可以在脚本中保留以下错误代码?可以吗 错误代码 error: function(result) { alert("some error occured, please try again later"); } 下面是JavaScript代码 fun

我有一个脚本,允许用户对网站进行评级,但当用户试图离开网站或在页面加载之前对网站进行评级时,会显示一个错误,这会让用户感到困惑,因为实际上没有进行评级。所以我想知道是真的有必要显示错误,还是我可以在脚本中保留以下错误代码?可以吗

错误代码

        error: function(result) {
            alert("some error occured, please try again later");
        } 
下面是JavaScript代码

function getRating(){
    $.ajax({
        type: "GET",
        url: "http://www.example.com/",
        data: "do=getrate",
        cache: false,
        success: function(result) {
            // apply star rating to element dynamically
            $("#rating").css({ width: "" + result + "%" });
             // add rating text dynamically
            $("#new-rating").text(getRatingText());
        },
        error: function(result) {
            alert("some error occured, please try again later");
        }
    });
}

如果出现问题,最好通知用户

我建议对可能发生的事情进行解释,这样他们就可以自己决定这是好事还是坏事


记住——技术总会以某种方式失败。假设您的服务器出现数据库错误,无法存储这些评级。如果忽略这些错误,客户机/用户将永远不会知道这一点。另一方面,如果您显示警告,用户可能至少有机会向您发送有关警告的电子邮件。

如果您不处理
错误并将其告知用户,他们将不会以任何其他方式意识到。如果你觉得没问题,那就别告诉他们。但这通常是最好的做法,如果用户要求页面做一些事情,但它不能,说它不能


如果HTTP失败,您发布的页面是否实际返回HTTP失败代码?例如,如果数据库关闭,会出现500错误吗?因为如果没有,如果您返回一些文本说数据库不工作,那么您的
success
函数需要处理应用程序级的失败,因为ajax请求成功了-只是服务器端操作失败了。

用户几乎不必费心对某个内容进行一次评分。要求他们稍后再试是毫无价值的,特别是因为你可能已经实现了从他们那里获得评级的目标。

警报可能会让人恼火。也许你可以把错误信息放在页面上,而不是放在评级上,也许是用一种吸引注意的风格,但即使这样也可能过分。这完全取决于你觉得吸引多少注意力是合适的。

我有PHP处理大部分错误,Javascript无法显示结果。如果你要通知,请不要将其设置为模式通知。当你的服务器把事情搞砸的时候,这已经够烦人的了;该错误消息的界面也一定很烦人吗?@Matchu您能举一个更好的例子说明您的意思以及错误应该如何显示。通常,请不要发出
警报,而是在页面布局中的某个位置发出警报,这样我就不会被警报框偷走窗口焦点。它到底去哪里取决于你的实际情况。这是一个很好的解决方案。javascript错误函数会显示,但当评级失败或通过时,我的php代码会执行。@words:是的,但您可以在php代码中选择通过返回标志值或返回非200 HTTP代码(如500表示内部服务器错误)来标记失败。我只是说,如果您在200响应中返回失败标志,您的
success
函数需要处理它。如果您实际将HTTP代码设置为500或其他什么,如果记录投票有问题,那么您的
error
函数就足够了。