ajax或发布请求的状态

问题描述 投票:1回答:3

状态-包含请求的状态,例如

("success", "notmodified", "error", "timeout", or "parsererror") /ajax or post

我知道success,not modified,error在这里是什么意思,但我无法找出如何处理此错误。如果回叫成功,则更新我的div,如果有任何错误not modified, error, time out, parse error,然后让我提醒弹出一些错误。

每种错误的原因是什么?我的意思是发生not modified,timeout,error and parseerror的情况。

如果结果为success,则表示我的发帖请求成功完成了吗?

我的本地服务器xampp永远不会导致任何错误,状态始终是成功。我想,因为它仅限于我的系统,但是当我将网站上线时,存在一些问题,例如服务器上的流量。

所以,我如何确定我对sample.php页面的发帖请求是否已成功发送,如果出现问题,是否向用户弹出警报?

ajax jquery httpresponse
3个回答
2
投票

错误类型有点不言自明。它们只是为您提供一个字符串,可以轻松地处理不同的错误。

如果请求失败,将调用

错误回调选项。它接收jqXHR,指示错误类型的字符串以及一个异常对象(如果适用)。一些内置错误将提供一个字符串作为异常对象:“中止”,“超时”,“无传输”。Source: jQuery.Ajax documentation

解释代码:

错误:任何HTTP响应代码,例如众所周知的404(未找到)或其他内部服务器错误。

未修改:将浏览器的缓存版本与服务器版本进行比较。如果它们相同,则服务器将返回304

Timeout: Ajax请求是有时间限制的,因此可以捕获并处理错误以提供更好的用户体验。通常,将请求超时保留为默认值,或者使用$ .ajaxSetup()设置为全局默认值,而不是使用timeout选项为特定请求覆盖。

解析错误:

无法解析jQuery数据(JSON)(通常由于语法错误)

处理这些错误代码:

这是一些处理错误的示例
  $(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});

Source: Blog Post - jQuery Error Handling


1
投票

成功


0
投票

据我所知

© www.soinside.com 2019 - 2024. All rights reserved.