gpt4 book ai didi

javascript - https-options 请求仅在 Safari 10 Mac 和 iOS cors 中失败(400 错误请求)

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:33 25 4
gpt4 key购买 nike

选项请求总是失败(400 错误请求),尤其是在 MAC OSX 和 iOS 10 的 HTTPS 环境中SAFARI 。 Chrome 和其他浏览器运行良好 (200)。我们尝试了几乎所有我们知道的方法来解决它,但似乎没有任何效果。以下是带有跨域选项 header 的 ajax 调用:

$.ajax(
{
headers: {
Accept : "application/json",
'Content-Type': "application/json"
},
type : "POST",
url : userDataSource,
contentType: "application/json",
data : JSON.stringify(formData),
dataType : 'json',
xhrFields :{
withCredentials: true
},
crossDomain : true,
success : function(data){........}}).....

我们尝试对 javascript 进行以下修改:

  • 修改预检 header (接受和内容类型)
  • 删除 header 。
  • 将 header 更改为小写,反之亦然。
  • 根据响应 header 添加一些 header 。

我们在服务器端也做了类似的更改,也做了一些代理级别的更改,但没有任何帮助。它不是公共(public) Web 应用程序,而是其内部组织网络。

解决它对我们来说非常重要,因为它会阻止交付。

请帮忙。

enter image description here

最佳答案

这看起来像是一个服务器问题,在没有关于所用服务器平台的信息的情况下很难弄清楚。您是否尝试调试抛出 400 Bad Request 的代码?日志文件中可能还有更多信息。当您说这只是 Safari 和 iOS 中的问题时,它可能是由请求中的不同 User-Agent 引起的(只是猜测)。

您是否检查过请求中是否有任何其他 HTTP header 与工作请求不同(确保比较的是 OPTIONS 请求,而不是 POST)。您可以尝试使用 Fiddler 或 Postman 对请求进行一些变体,以将问题缩小到特定原因。

很抱歉没有明确的答案,也许您可​​以提供有关服务器的更多信息。

关于javascript - https-options 请求仅在 Safari 10 Mac 和 iOS cors 中失败(400 错误请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41564117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com