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

How does a server detect a request made with the fetch API?

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

我该怎么做?

特定 header 或特定参数都可以; "clean" 方法可能是将 fetch-sent 请求中的 "Accept:" header 设置为 "application/json",表明该请求正在寻找 JSON 响应,并在 server-side 上使用它来确定是发送 JSON 还是 HTML。

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

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