服务器如何检测使用 fetch API 发出的请求?

Cli*_*ooo 6 json exception-handling http fetch-api

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

我怎样才能做到这一点 ?

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

don*_*dom 5

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