jquery.min.js:4 Mixed Content: The page at 'https://xxxx/' was loaded over HTTPS, but requested an insecure script 'http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&city=undefined&day=0&dfc=3&_=1493433870836'. This request has been blocked; the content must be served over HTTPS.
原来浏览器有个默认设置不允许https页面调取http页面内容
现在想到几个解决方式
1.使用新的https的api接口。
可是新浪的天气接口查询当前用户城市api:
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
换为https用不了,后来找了个心知天气的api
2.在https中调用http
在网上查找资料研究了一下这个问题
在前端因为
1,ajax中的get,post都因为由同源策略用不了。
2,getScript和get申请jsonp因为上面的浏览器限制用不了。
那只有向后台请求数据了
所以在后台调用请求数据了,这里可以用curl,file_get_contents或者HTTP_Request2类申请(这个在php经典实例 0x0E(14章)中了解的)。