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 相关文章推荐
解决FLASH需要点击激活的代码
Dec 20 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
js实现延时加载Flash的方法
Nov 26 Javascript
原生js实现数字字母混合验证码的简单实例
Dec 10 Javascript
jQuery 获取屏幕高度、宽度的简单实现案例
May 17 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 Javascript
js实现自定义滚动条的示例
Oct 27 Javascript
vue-video-player 断点续播的实现
Feb 01 Vue.js
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屏蔽错误及提示的方法
2020/05/10 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
《寓言两则》教学反思
2014/02/27 职场文书
调研座谈会发言材料
2014/08/23 职场文书
信仰心得体会
2014/09/05 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书