【发布时间】:2012-01-14 22:23:36
【问题描述】:
我需要对同一域的安全 (HTTPS) URL 进行异步调用。
目前该页面使用常规 HTTP(非安全)。
换句话说:这是调用同一域中的 URL,但使用 HTTPS。
在将此调用切换到 HTTPS 之前,我结束了实现服务器端代理以允许跨域 AJAX 调用,但现在我面临相同的来源策略,因为 HTTP 和 HTTPS 也被认为是不同的来源。所以这个代理是不可用的。
总结:这种场景下如何做跨域、异步的POST请求?
各种注释:
- 我不能接受任何建议 JSONP 的答案。异步调用必须使用 POST 动词。
- 我正在使用最新版本的 jQuery。答案可能基于此库,或任何其他解决此问题的方法。
- 通过 HTTPS 访问整个页面不是解决方案。
- 服务器平台是 Microsoft .NET 4.0 (ASP.NET 4.0)。
UDPATE:CORS 不是一个选项。现代浏览器对此没有广泛的支持。
【问题讨论】:
-
没有解决方案可以满足您的所有要求(如果在任何浏览器中存在,则根据跨域策略,这是一个安全漏洞)。
-
@gsnedders 好吧,我正在寻找解决方法,你说得对。
标签: javascript ajax http .net-4.0 cross-domain