首页 > 如何在https页面异步请求http地址

如何在https页面异步请求http地址

在做的一个Chrome插件,是在https页面激活的,现在需要请求另外一个http接口,在manifest.json中已经配置了permission,基于jquery的ajax方法。

好吧,上面的背景不重要,现状:
1、在http页面请求http页面,没问题。
2、在https页面请求http页面,有问题,提示 [blocked] The page was loaded over HTTPS, but ran insecure content from '': this content should also be loaded over HTTPS.

问题:如何使用jQuery在https页面请求http接口?和跨域没关,如果需要修改chrome的设置也可以。


自己解决了,在https页面通过post的方式向http页面提交表单是没有问题的,直接的办法就是在页面加一个隐藏的form,然后自动触发提交表单。可以在新窗口提交,或者从当前页面提交,然后在通过服务器端跳转回来。间接实现了在https页面调用http接口的需求。


chrome插件下,如果想ajax在一个https的页面请求另一个http的页面。可以把ajax的操作放在background扩展区进行,就不存在ssl的问题。


我觉得应该是有方法可以请求的,如果是http请求https的话可能有点难,但是https请求http应该是可以的,但是我不知道具体的方法,不好意思


这就是所有现代浏览器的安全设置,HTTPS页面里只能请求其它HTTPS的资源,不能使用HTTP。
每个浏览器里都有开关可以取消这个限制,但是这个开关默认都是关闭的。

一般遇到这种情况chrome会在地址栏右边显示一个图标,告诉你mixed content blocked,点击这个图标可以临时允许mixed content,但如果HTTPS网站返回了“ Strict Transport Security” header,Chrome会禁止混合页面,不给用户机会。

【热门文章】
【热门文章】