【问题标题】:jQuery ajax custom HTTP status message on the 2xx rangejQuery ajax 自定义 HTTP 状态消息在 2xx 范围内
【发布时间】:2012-04-15 06:07:52
【问题描述】:

我正在尝试创建响应自定义 http 状态消息的机制,并使用 jQuery Ajax 在客户端捕获它。

我想出了一种方法,只针对错误消息(HTTP 4xx、5xx),而不针对成功的 http 消息(HTTP 2xx)。

例如,我设法从HTTP 400 FROG CATCH 状态中提取并提醒“FROG CATCH”,但无法提醒来自HTTP 200 FROG ESCAPE 的“FROG ESCAPE”

有没有人知道扩展 jQuery ajax 以支持这种模式的方法?

有人吗?

【问题讨论】:

    标签: javascript jquery http http-status-codes


    【解决方案1】:

    AJAX 响应基于成功和错误。如果您的内容返回 200 状态(正常)、304(未修改)等...然后 AJAX 调用将使用您的成功响应部分,而不是通常显示状态的错误部分(错误部分中的状态主要是用于指示错误的原因)。根据您返回的内容和返回的格式,您应该在成功部分中查找该响应。假设您的服务器语言是 PHP,您可能会在返回的数据中包含该成功状态(转换为 JSON 对象进行解析),如下所示:

    $.ajax({
        url : 'your_url.php',
        type : 'POST',
        dataType : 'JSON',
        data : yourData,
        success : function(data) {
            if(data) {
                if(data.status) {
                    alert('Status: ' + data.status);
                }
            }
        },
        error : function(xhr, response, status) {
            alert('Response: ' + response.responsetext);
        }
    });
    

    通过使用您的 JSON 对象作为状态载体,您可以自定义您的状态响应。至于查看实际的服务器标头响应是什么,这将列在 Chrome 检查器的网络选项卡、Firebug 的网络选项卡或 Safari 的开发工具部分(我忘记了名称)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多