前阵子在一个大项目中做了一个小的 tool,在本机上测试完成之后,放到 production 环境中去,却发现页面上的 Ajax 功能不能使用。
在 Firebug 的帮助下,很快就想到可能是因为 production 环境使用了 https,由于浏览器的安全限制,页面不允许随便请求 http 的页面。Ajax 请求的 url 其实就是本机的一个页面,不过因为 url 中没有写 protocol 以及 hostname,浏览器就默认是 http 了。
我解决的办法是用 JavaScript 生成完整的 url,然后再发送请求。我测试的环境是 Firefox,不知道其它浏览器中有没有同样的问题。
Leave a Reply