我的网站使用http和https协议,不影响内容。我的站点使用jQuery ajax调用,它也会填充页面上的某些区域。
现在,我想通过https完成所有的ajax调用。(请不要问我为什么:))当我在使用https协议的页面上时,ajax请求正在工作。当我在使用http协议的页面上时,我得到一个javascript错误:访问受限URI被拒绝
我知道这是一个跨域的问题(实际上,这是一个跨协议的问题),并且我知道我应该在ajax调用中使用与当前页面相同的协议。
尽管如此,我还是希望所有的ajax调用都是https,并且在一个通过http提供服务的页面上调用它们。有什么解决方法可以实现这一点(一些json/代理解决方案?),或者根本不可能实现?
发布于 2011-05-11 01:04:45
添加来自服务器的Access-Control-Allow-Origin标头
Access-Control-Allow-Origin: https://www.mysite.com
发布于 2009-07-09 19:58:00
试试JSONP。
大多数JS库使其与其他AJAX调用一样简单,但在内部使用iframe进行查询。
如果您没有使用JSON作为有效负载,那么您将不得不在iframe中使用自己的机制。
就我个人而言,我只是将http://页面重定向到https://页面
发布于 2009-07-09 19:24:51
http://example.com/可能会解析到与https://example.com/不同的VirtualHost (由于未发送主机报头,因此会响应该IP的默认值),因此两者被视为单独的域,因此受到跨域JS限制。
JSON callbacks可能会让您避免这一点。
https://stackoverflow.com/questions/1105934
复制相似问题