首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在http页面上使用https的Ajax

在http页面上使用https的Ajax
EN

Stack Overflow用户
提问于 2009-07-09 19:18:13
回答 6查看 112.9K关注 0票数 101

我的网站使用http和https协议,不影响内容。我的站点使用jQuery ajax调用,它也会填充页面上的某些区域。

现在,我想通过https完成所有的ajax调用。(请不要问我为什么:))当我在使用https协议的页面上时,ajax请求正在工作。当我在使用http协议的页面上时,我得到一个javascript错误:访问受限URI被拒绝

我知道这是一个跨域的问题(实际上,这是一个跨协议的问题),并且我知道我应该在ajax调用中使用与当前页面相同的协议。

尽管如此,我还是希望所有的ajax调用都是https,并且在一个通过http提供服务的页面上调用它们。有什么解决方法可以实现这一点(一些json/代理解决方案?),或者根本不可能实现?

EN

回答 6

Stack Overflow用户

发布于 2011-05-11 01:04:45

添加来自服务器的Access-Control-Allow-Origin标头

代码语言:javascript
复制
Access-Control-Allow-Origin: https://www.mysite.com

http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

票数 58
EN

Stack Overflow用户

发布于 2009-07-09 19:58:00

试试JSONP。

大多数JS库使其与其他AJAX调用一样简单,但在内部使用iframe进行查询。

如果您没有使用JSON作为有效负载,那么您将不得不在iframe中使用自己的机制。

就我个人而言,我只是将http://页面重定向到https://页面

票数 11
EN

Stack Overflow用户

发布于 2009-07-09 19:24:51

http://example.com/可能会解析到与https://example.com/不同的VirtualHost (由于未发送主机报头,因此会响应该IP的默认值),因此两者被视为单独的域,因此受到跨域JS限制。

JSON callbacks可能会让您避免这一点。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1105934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档