https ajax 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接口?和跨域没关,应该怎么排除这个问题呢!

阅读 4.2k
2 个回答

首先呢,基于浏览器安全的限制,在https下是无法发起http请求的。

  1. 在有http请求的时候,将页面从https重定向到http 这种做法比较恶心……

  2. 使用服务器端代理,对于http请求由页面发到服务器端,再有服务器代理发出请求

我提供一个答案,你要说是和跨域没有关系的话,那么原因可能是:

你的https有问题。

之前我用 segmentfault 的时候,他们用的是upaiyun的CDN,提供的图片地址就是HTTPS

的,当时我的chrome 53 完全无法加载这些资源,和跨域完全没有关系,因为那些都是

通过src来请求的资源。我的解决方法是重装了一下浏览器。

当然,这个只是一种可能性而已。

不过我想问一下题主: JSONP 也不行是吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题