【问题标题】:How does a server detect a request made with the fetch API?服务器如何检测使用 fetch API 发出的请求?
【发布时间】:2016-12-24 02:35:10
【问题描述】:

我有一个 ASP.NET MVC 5 应用程序,它处理来自我的网站使用 fetch API 发出的请求。 当我的控制器中发生异常时,我使用从 System.Web.Mvc.Controller 覆盖的自定义“OnException”方法以 JSON 格式发送结果,其中包含有关错误的数据。我这样做是因为我不想发送默认的 HTML 错误页面。 在这个对所有控制器都是全局的方法中,我需要检查请求是否已使用 fetch API 执行(如果没有,我什么也不做)。

我该怎么做?

  • 是否应该在我的请求中添加自定义 http 标头?
  • 是否应该在所有请求中添加特定参数?
  • 我的方法完全错误吗?

【问题讨论】:

    标签: json http exception-handling fetch-api


    【解决方案1】:

    特定标头或特定参数都可以使用; “干净”的方法可能是将 fetch-sent 请求中的“Accept:”标头设置为“application/json”,表示所述请求正在寻找 JSON 响应,并在服务器端使用它来确定是发送 JSON 还是 HTML。

    【讨论】:

      【解决方案2】:

      我认为 Accept Header 对所有情况都没有帮助。如果您请求 HTML 并且您有一个布局系统并且想要为异步请求禁用它,您将需要一种不同的方法。

      我认为使用自定义标志头是一种更有保障的方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-04
        • 2020-10-08
        • 2020-11-24
        • 2017-01-26
        • 1970-01-01
        相关资源
        最近更新 更多