【发布时间】:2012-07-26 06:33:02
【问题描述】:
我正在尝试从 HTTP 页面向 HTTPS 服务进行跨域 Web 服务调用。
我已经在服务器上设置了正确的 CORS 标头(它适用于 HTTP-HTTP 和 HTTPS-HTTPS)。
如果我将请求更改为 JSONp,它确实工作。
我在 Chrome 和 Firefox 中看到的是 HTTPS 请求从未发送,它立即中止,并且服务器永远不会看到该请求。
值得注意的是,预检OPTIONS 请求被中止(并且它没有到达服务器)。
我找不到任何来源可以解释这确实是不可能的(HTTP 到 HTTPS)并且更好:解释 为什么。我可以理解 HTTPS 到 HTTP 是不安全的,但其他方式应该没问题吧?这对我来说似乎很愚蠢,因为 JSONp 有效(但它很混乱)。
笔记
我还将withCredentials 设置为true,并且我正在发送一些自定义标题和自定义Content-Type:application/json
我正在使用常规 XMLHTTPRequest 并回退到 IE 的 JSONp
【问题讨论】:
-
你们有现场网站供我调查吗?
-
不,我没有,我在本地开发服务器上运行它。
标签: javascript https xmlhttprequest cors