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压缩工具:X2JSCompactor
Jun 13 Javascript
js function使用心得
May 10 Javascript
jQuery :first选择器使用介绍
Aug 09 Javascript
学习Angularjs分页指令
Jul 01 Javascript
利用Javascript仿Excel的数据透视分析功能
Sep 07 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
AngularJS实现使用路由切换视图的方法
Jan 24 Javascript
Vue.js实现简单动态数据处理
Feb 13 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
Vue与Node.js通过socket.io通信的示例代码
Jul 25 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
Apr 19 Javascript
react中props 的使用及进行限制的方法
Apr 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与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
jquery 指南/入门基础
2007/11/30 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
详解python实现线程安全的单例模式
2018/03/05 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
python代码实现图书管理系统
2020/11/30 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
python编程的核心知识点总结
2021/02/08 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
Unix如何添加新的用户
2014/08/20 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
秘书英文求职信范文
2014/01/31 职场文书
网络技术专业求职信
2014/02/18 职场文书
幼儿生日活动方案
2014/08/27 职场文书
超市采购员岗位职责
2015/04/07 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
Python读写yaml文件
2022/03/20 Python