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获得CheckBoxList选中的数量
Oct 27 Javascript
jquery中选择块并改变属性值的方法
Jul 31 Javascript
JQuery文字列表向上滚动的代码
Nov 13 Javascript
$.each遍历对象、数组的属性值并进行处理
Jul 18 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
canvas绘制环形进度条
Feb 23 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
微信小程序按钮点击跳转页面详解
May 06 Javascript
javascript+HTML5 canvas绘制时钟功能示例
May 15 Javascript
JS实现简单九宫格抽奖
Jun 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
PHP 类相关函数的使用详解
2013/05/10 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
Prototype使用指南之ajax
2007/01/10 Javascript
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
js实现左右轮播图
2020/01/09 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
中国梦读书活动总结
2014/07/10 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书