我需要对同一域的安全(HTTPS)URL进行异步调用。
当前,该页面正在使用常规HTTP(非安全)。
换句话说:这是使用HTTPS在同一域中调用URL。
在将此调用切换到HTTPS之前,我结束了实现服务器端代理以允许跨域AJAX调用,但是现在我面临着相同的源策略,因为HTTP和HTTPS也被认为是不同的源。因此,该代理不可用。
简介:在这种情况下,如何进行跨域,异步POST请求?
各种说明:
首先,我对@missingo和@PiTheNumber的两个问题都进行了+1。
花了很多小时后,我得出的结论是,我打算将整个页面切换到HTTPS。那是因为:
大多数现代浏览器都支持CORS,但是从第8版开始的Internet Explorer具有专有的实现(XDomainRequest对象),该实现可能在某些计算机中被禁用(默认情况下,我的跨域请求在Internet安全区域中被禁用)。
Opera不支持CORS。第12版将支持该版本,但这不是一个选择,因为用户应首先采用此新版本,并且不会在2天之内。
我需要进行跨域请求,因为Web客户端应用程序必须请求位于另一个域中的RESTful服务层。没门。
将所有内容切换到HTTPS可使服务层代理方法再次起作用(这是预期的行为)。
无论如何,因为这两个答案都对我得出这个结论大有帮助。
@Sam添加了可能对任何人都有趣的评论。关于如何在Internet Explorer 8和9中获得CORS(请参阅#7):http : //blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest- restrictions-limitations-and-workarounds。 aspx