Jquery ajax 加载停止从 https 站点工作

标签 jquery ajax ssl cross-domain

我有一个使用 SSL 的站点,它使用 jquery ajax 从标准的 http 站点加载数据。我控制这两个站点并设置了跨域策略。

这曾经工作得很好,但突然无缘无故停止了。

我的 SSL 站点使用以下方式加载数据:

$('#targetDiv').load('http://www.example.com .stuff');

它在 http 下有效,但在 https 下无效。在 Chrome 中,我收到以下错误:

Mixed Content: The page at 'https://www.secure-site-example.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.example.com/'. This request has been blocked; the content must be served over HTTPS.

现在我明白它是在提示我在安全站点的 load() 中使用 http。我不明白的是它突然停止工作的方式。

Chrome 和/或其他浏览器最近是否更新了安全性? 如果是这样,是否有解决此问题的方法,而无需为 www.example.com 购买 SSL 证书?

谢谢。

最佳答案

回答我自己的问题。这看起来是浏览器特定的安全问题。怀疑 Chrome 在过去几个月更新了它的安全设置,这就是问题发生的原因。

如果您确认希望排除被阻止的内容,则上述 ajax 在 Firefox 中有效。

我需要找到一种绕过多个协议(protocol)的 ajax 加载的方法。哦,好吧,给我点事做吧 :)

关于Jquery ajax 加载停止从 https 站点工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858293/

相关文章:

javascript - 固定元素通过时如何在父元素内滚动元素?

jquery - 使用 jQuery 和 p+t 矩阵在表达式引擎中动态加载图像

javascript - 如果我在vertx中使用post方法如何获取json参数?

javascript - 如何让浏览器记住通过ajax和jquery生成的多选项卡分页内容中显示的最后一页?

C# 无法使用 TLS1.2 在 Windows 7/Windows Server 上创建 ssl/tls 安全通道

php - 调用JS函数时销毁 session 变量

jquery - 滚动到特定元素的底部,而不干扰页面的其余部分

指定 header 时,jQuery AJAX 无法工作(发出 OPTIONS 飞行前请求)

php - 使用 "PHP for Android"从 Android 设备执行 Apple 推送通知服务器 (PHP)

scala - Gatling - 根据请求更改馈线中使用的 SSL 证书?