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 相关文章推荐
javascript检测对象中是否存在某个属性判断方法小结
May 19 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
jQuery实现鼠标划过展示大图的方法
Mar 09 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
Nov 30 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
layui导航栏实现代码
May 19 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
详解vue中axios请求的封装
Apr 08 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
mpvue 项目初始化及实现授权登录的实现方法
Jul 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通用防注入程序 推荐
2011/02/26 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
使用python实现个性化词云的方法
2017/06/16 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
学生干部的自我评价分享
2014/01/18 职场文书
生物制药自我鉴定
2014/01/25 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
经费申请报告范文
2015/05/18 职场文书
七年级作文之英语老师
2019/10/28 职场文书