【问题标题】:Is it possible to set a Request Header value with jQuery when using JSONP?使用 JSONP 时是否可以使用 jQuery 设置请求标头值?
【发布时间】:2017-12-29 18:38:13
【问题描述】:

这对于描述什么是以及如何发出 jsonp 请求很有帮助。 https://stackoverflow.com/a/6879319/371137

不过,我还需要将请求标头中的 Accept 值更改为“application/javascript”,以便我的第 3 方服务器能够正确响应。

有很多关于使用 API 设置标头值(包括 Pass accepts header parameter to jquery ajax)的 SO 答案,但似乎没有一个与“jsonp”结合使用。

我似乎无法从 jQuery 的文档中弄清楚如何在使用数据类型“jsonp”时实际更改 Accept 标头值。

beforeSend 什么都不做。 “接受”什么都不做。 “标题”似乎被忽略了。

我什至似乎根本无法设置任何自定义标题。

无论我做什么,Accept 标头值始终是“/”。

任何帮助将不胜感激。

【问题讨论】:

标签: javascript jquery ajax http-headers jsonp


【解决方案1】:

没有。 JSONP 请求实际上是脚本请求(为什么将 json 包装在函数中),不允许添加标头

同样,它们不能用于 POST 等方法

【讨论】:

  • 在我看来这是最好的答案。但是,我也不明白为什么这个请求需要是 JSONP。据我所知 (stackoverflow.com/questions/3839966/…) 随着 CORS 的出现,JSONP 真的没有任何好处,对吧?
  • @DanFarrell 同意这一点。 JSONP 现在已经相当过时了
  • 我实际上对 JSONP 的熟悉程度不如 CORS .. 但我一直遇到来自所述第 3 方 api 的飞行前请求的问题。他们以前支持 jsonp 并进行了一些代码更改,现在在响应标头中返回 applicatoin/json ......这似乎破坏了我的旧 jsonp 代码。我认为答案是......转移到 CORS 并解决预检问题。我非常感谢你们的帮助。
  • 是的...如果您控制提供 json 的端点。如果您不...在您控制的服务器上使用代理来发出请求
猜你喜欢
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 2019-08-18
  • 2012-06-28
  • 2011-05-02
  • 2012-04-14
  • 2019-01-26
  • 1970-01-01
相关资源
最近更新 更多