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 相关文章推荐
Code: write(s,d) 输出连续字符串
Aug 19 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
Apr 30 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
May 15 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
Aug 26 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 Javascript
vue 标签属性数据绑定和拼接的实现方法
May 17 Javascript
Vuex的初探与实战小结
Nov 26 Javascript
js中实例与对象的区别讲解
Jan 21 Javascript
精读《Vue3.0 Function API》
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 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
javascript 中的try catch应用总结
2017/04/01 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
Python返回真假值(True or False)小技巧
2015/04/10 Python
简介Django中内置的一些中间件
2015/07/24 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
python实现计算器功能
2019/10/31 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
硕士研究生个人求职信
2013/12/04 职场文书
总经理助理职责
2014/02/04 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
保护环境的标语
2014/06/09 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
论文答谢词
2015/01/20 职场文书
云台山导游词
2015/02/03 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python