【问题标题】:How to return an HTTP response in Javascript?如何在 Javascript 中返回 HTTP 响应?
【发布时间】:2018-08-06 00:31:54
【问题描述】:

我有一个看起来像这样的弹出横幅:

if (confirm("Banner message")) {
  //do something if they accept
}
else {
  //do something else if they don't accept
}

如果用户不接受,我想返回一个 403 Forbidden,最好是通过我的 httpd 日志获取的方式。最简单的方法是什么?

【问题讨论】:

    标签: javascript http-error


    【解决方案1】:

    confirm 是 JavaScript 的扩展,由运行在客户端的网页中的浏览器提供给 JS。

    您不能(直接)发送 HTTP 响应来响应它,因为它在 HTTP 客户端中运行。

    如果您想在服务器日志中记录某些内容,则需要向服务器发出 HTTP 请求

    这通常使用fetchXMLHttpRequest API 来完成。如果您希望向用户显示标准的 403 禁止错误,则可以为 location 分配一个 URL,您的服务器将返回 403。

    【讨论】:

      【解决方案2】:

      由于您需要 403 响应,因此您需要从服务器请求此响应,因为它是服务器发送的错误消息。我建议您使用 window.location = "/someSpecialPath"; 并使用 .htacces 或该路径的其他内容生成 403 错误: deny from all

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-25
        • 2011-07-29
        • 2014-06-22
        • 2012-12-28
        • 2019-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多