https 页面的 Ajax

前阵子在一个大项目中做了一个小的 tool,在本机上测试完成之后,放到 production 环境中去,却发现页面上的 Ajax 功能不能使用。

在 Firebug 的帮助下,很快就想到可能是因为 production 环境使用了 https,由于浏览器的安全限制,页面不允许随便请求 http 的页面。Ajax 请求的 url 其实就是本机的一个页面,不过因为 url 中没有写 protocol 以及 hostname,浏览器就默认是 http 了。

我解决的办法是用 JavaScript 生成完整的 url,然后再发送请求。我测试的环境是 Firefox,不知道其它浏览器中有没有同样的问题。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.