JSONP 跨域访问代理API-yahooapis实现代码


Posted in Javascript onDecember 02, 2012

你是否遇到了想利用AJAX访问一些公网API,但是你又不想建立自己的代理服务,因为有时我根本就没打算涉及服务端任何代码,但是讨厌的浏览器的同源策略,阻止了我们的ajax调用。
比如我想访问一个天气的restfull api,如果我直接去GET:

$.get("http://m.weather.com.cn/data/101010100.html");

JSONP 跨域访问代理API-yahooapis实现代码 
看见这问题相信大家都不会陌生,也会很自然的得到解决方案,但是我这里真的不想touch任何服务端代码,用jsonp吧,但是服务端没实现契约。
在这里我是时候引入主角yahoo提供的jsonp代理:http://query.yahooapis.com/v1/public/yql
实现跨域访问代码为:http://jsfiddle.net/whitewolf/4UDpf/9/
html:
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script> 
<div id="content"> 
</div>

js: 
$(function(){ 
$.getJSON("http://query.yahooapis.com/v1/public/yql", { 
q: "select * from json where url=\"http://m.weather.com.cn/data/101010100.html\"", 
format: "json" 
}, function(data) { 
var $content = $("#content") 
if (data.query.results) { 
$content.text(JSON.stringify(data.query.results)); 
} else { 
$content.text('no such code: ' + code); 
} 
});

});
效果:
JSONP 跨域访问代理API-yahooapis实现代码 
多的就不用说了,jsonp原理我相信大家也很清楚。
Javascript 相关文章推荐
关于jQuery object and DOM element
Apr 15 Javascript
javascript常用对话框小集
Sep 13 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
基于javascript编写简单日历
May 02 Javascript
AngularJs 禁止模板缓存的方法
Nov 28 Javascript
详解react-redux插件入门
Apr 19 Javascript
JS中Promise函数then的奥秘探究
Jul 30 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
Aug 13 Javascript
vue element-ui之怎么封装一个自己的组件的详解
May 20 Javascript
script标签属性type与language使用选择
Dec 02 #Javascript
JavaScript中valueOf函数与toString方法深入理解
Dec 02 #Javascript
json对象转字符串如何实现
Dec 02 #Javascript
javascript 构造函数强制调用经验总结
Dec 02 #Javascript
js精度溢出解决方案
Dec 02 #Javascript
JavaScript词法作用域与调用对象深入理解
Nov 29 #Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 #Javascript
You might like
php使用qr生成二维码的示例分享
2014/01/20 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
php fread函数使用方法总结
2019/05/28 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
python基于phantomjs实现导入图片
2016/05/13 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python3实现弹弹球小游戏
2019/11/25 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
研究生自荐信
2013/10/09 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
小学生开学感言
2014/02/28 职场文书
初中新生军训方案
2014/05/13 职场文书
市场营销策划方案
2014/06/11 职场文书
教师廉政准则心得体会
2016/01/20 职场文书