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

时间:2016-08-17 12:23:25

标签: json http exception-handling fetch-api

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

我该怎么做?

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

2 个答案:

答案 0 :(得分:4)

特定标题或特定参数都可以使用; "清洁"方法可能是设置"接受:"发送到" application / json"的fetch-sent请求中的标头,表示所述请求正在寻找JSON响应,并在服务器端使用它来确定是发送JSON还是HTML。

答案 1 :(得分:0)

我认为“接受标头”在所有情况下都无济于事。如果您请求HTML,并且您有一个布局系统,并且想对异步请求禁用它,则将需要另一种方法。

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