gpt4 book ai didi

javascript - CORS 错误 header 允许来源 * http 与 https

转载 作者:行者123 更新时间:2023-12-03 01:25:21 24 4
gpt4 key购买 nike

我正在使用 XMLHttpRequest(),发送 POST 。在我们的 servlet 中,我们默认为 req.setHeader("Access-Control-Allow-Origin", "*");

如果从 http:// 提供服务,Safari 和 Edge 会导致 CORS 错误,但如果https://则不然。不管怎样,Chrome 和 FF 的表现都很好。

我有一个用于上传的第二个 POST,它成功运行,因为它包含此方法:

setSecureConnection: function() {
baseURL = baseURL.replace(/http\:/, 'https:');
}

在失败的servlet上,我尝试过req.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));也没有成功。

那么为什么浏览器不接受通配符呢?

最佳答案

我通常通过附加 https://cors-anywhere.herokuapp.com/ 来使用 CORSA API(省去了处理 header 的麻烦)到 URL(例如: https://cors-anywhere.herokuapp.com/http://URL2POST.COM/ );只是一个有用的提示。

对于您的 header ,对于 Edge 和 Safari,假设您的请求正在传递源并且一切正常,您可能需要尝试以下操作:

req.setHeader("Access-Control-Allow-Origin", "*");
req.setHeader("Access-Control-Allow-Credentials", "true");
req.setHeader("Access-Control-Allow-Methods", "ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL");
req.setHeader("Access-Control-Allow-Headers", "Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If");
req.setHeader("Access-Control-Expose-Headers", "DAV, content-length, Allow");

希望有帮助:)

关于javascript - CORS 错误 header 允许来源 * http 与 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51576384/

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