我们的服务是 https 安全通道,需要请求另外一个http接口,基于jquery的ajax方法。
1、在http页面请求http页面,没问题。
2、在https页面请求http页面,有问题,报错“This request has been blocked; the content must be served over HTTPS.”
问题:如何使用jQuery在https页面请求http接口?和跨域没关,应该怎么排除这个问题呢!
我们的服务是 https 安全通道,需要请求另外一个http接口,基于jquery的ajax方法。
1、在http页面请求http页面,没问题。
2、在https页面请求http页面,有问题,报错“This request has been blocked; the content must be served over HTTPS.”
问题:如何使用jQuery在https页面请求http接口?和跨域没关,应该怎么排除这个问题呢!
我提供一个答案,你要说是和跨域没有关系的话,那么原因可能是:
你的https有问题。
之前我用 segmentfault 的时候,他们用的是upaiyun的CDN,提供的图片地址就是HTTPS
的,当时我的chrome 53 完全无法加载这些资源,和跨域完全没有关系,因为那些都是
通过src来请求的资源。我的解决方法是重装了一下浏览器。
当然,这个只是一种可能性而已。
不过我想问一下题主: JSONP 也不行是吧。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
首先呢,基于浏览器安全的限制,在
https
下是无法发起http
请求的。在有http请求的时候,将页面从https重定向到http 这种做法比较恶心……
使用服务器端代理,对于http请求由页面发到服务器端,再有服务器代理发出请求