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 网易相册鼠标移动显示隐藏效果实现代码
Mar 31 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
jQuery中dom元素上绑定的事件详解
Apr 24 Javascript
js实现鼠标划过给div加透明度的方法
May 25 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
jquery实现两边飘浮可关闭的对联广告
Nov 27 Javascript
JS正则表达式比较常见用法
Jan 26 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
Vue中的混入的使用(vue mixins)
Jun 01 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
Vue项目实现换肤功能的一种方案分析
Aug 28 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
django中SMTP发送邮件配置详解
2019/07/19 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
PyQt5实现画布小程序
2020/05/30 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
PHP经典面试题
2016/09/03 面试题
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
《乌塔》教学反思
2014/02/17 职场文书
美术指导求职信
2014/03/17 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
职工食堂管理制度
2015/08/06 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS