ajax请求不同域名的页面时,由于浏览器安全限制是不允许请求的,发生错误。此时需要搭建服务器做代理捉取跨域页面,ajax请求自己建立的代理页面。如果你不想建立自己的代理服务,因为有时我根本就没打算涉及服务端任何代码,但是讨厌的浏览器的同源策略,阻止了我们的ajax调用。
看见这问题相信大家都不会陌生,也会很自然的得到解决方案,但是我这里真的不想写任何服务端代码,用jsonp吧,但是服务端没实现契约。在这里我是时候引入主角yahoo提供的jsonp代理:http://query.yahooapis.com/v1/public/yql
<script> $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', dataType: 'jsonp', data: { q: "select * from json where url=\"http://www.weather.com.cn/data/sk/101190408.html\"", format: "json" }, success: function (d) { alert(JSON.stringify(d))//远程json数据放在query.results下 } });</script>
这样通过代理可以实现天气预报接口的数据。
- 本文固定链接: http://www.ttfde.top/index.php/post/386.html
- 转载请注明: admin 于 TTF的家园 发表
《本文》有 0 条评论