如何检测新获取标准发起的请求?我应该如何检测一般的AJAX请求?

Dmi*_*y M 5 javascript ajax google-chrome xmlhttprequest fetch-api

在服务器上,知道传入的请求是AJAX会很有用.

大多数js库使用XMLHttpRequest并提供HTTP_X_REQUESTED_WITH: XMLHttpRequest,但Chrome的实现和Github的填充都不fetch使用类似的头.那么怎样才能检测到请求是AJAX?

为什么请求确认其始作俑者不是通过对标准的执行fetchXMLHttpRequest?是否应该使用其他东西进行决策(例如客户提供他们期望的内容类型)?

rop*_*rzh 6

Github的polyfill存储库中查看此问题,特别是评论.

由于X-Requested-With标头不是标准,因此它们使用包装器来提供一些缺少的行为.

如果您需要更多指导,请检查包装器代码的这一行:

function headers(options) {
  options = options || {}
  options.headers = options.headers || {}
  options.headers['X-Requested-With'] = 'XMLHttpRequest'
  return options
}
Run Code Online (Sandbox Code Playgroud)