jsonp获取json数据
这两天做微信端JS接口,当时遇到的第一个问题就是权限验证的参数请求,当你请求access_token等的时候,就会存在跨域问题:然后在网上查了,采用ajax的jsonp进行跨域请求,后来报错了,返回的结果错误。然后认真看了一下文档,发现ajax的jsonp返回的数据是callback(json),卡到这里。最后同时为了安全的考虑,我就将这一部分的权限验证参数在后端做,然后前端请求,这样就避免了跨域,同时将安全考虑进去了。
完成微信JS接口后,我返回来思考这个问题,还是希望找到一种方法,实现跨域请求json数据,不改变后端接口。最后在showbo的帮助下找到了解决办法,这里非常感谢showbo。
yahoo提供的jsonp代理:http://query.yahooapis.com/v1/public/yql
直接上代码:
json:
<script type="text/javascript" src="http://www.w3dev.cn/rardownload/20130106/20130106170832648.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
$.ajax({
url: 'http://query.yahooapis.com/v1/public/yql',
dataType: 'jsonp',
data: {
q: "select * from json where url=\"http://www.w3dev.cn/json.asp\"",
format: "json"
},
success: function (d) {
alert(JSON.stringify(d))//远程json数据放在query.results下
}
});
</script>
HTML:
<script type="text/javascript" src="http://www.w3dev.cn/rardownload/20130106/20130106170832648.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
$.ajax({
url: 'http://query.yahooapis.com/v1/public/yql',
dataType: 'jsonp',
data: {
q: "select * from html where url=\"http://www.w3dev.cn/eg/base64.aspx\"",
format: "xml"
},
success: function (d) {
alert(JSON.stringify(d))//跨域html代码放在results下,注意和json的区别
}
});
</script>
注意:如果在请求的时候带有参数,为了安全考虑,这种请求最好放在后端。
参考:http://www.w3dev.cn/article/20130228/JSONP-crossdomain-online-httpproxy-api.aspx
其他
[我的博客,欢迎交流!](http://rattenking.gitee.io/stone/index.html)
[我的CSDN博客,欢迎交流!](https://blog.csdn.net/m0_38082783)
[微信小程序专栏](https://blog.csdn.net/column/details/18335.html)
[前端笔记专栏](https://blog.csdn.net/column/details/18321.html)
[微信小程序实现部分高德地图功能的DEMO下载](http://download.csdn.net/download/m0_38082783/10244082)
[微信小程序实现MUI的部分效果的DEMO下载](http://download.csdn.net/download/m0_38082783/10196944)
[微信小程序实现MUI的GIT项目地址](https://github.com/Rattenking/WXTUI-DEMO)
[微信小程序实例列表](http://blog.csdn.net/m0_38082783/article/details/78853722)
[前端笔记列表](http://blog.csdn.net/m0_38082783/article/details/79208205)
[游戏列表](http://blog.csdn.net/m0_38082783/article/details/79035621)
相关文章
- springMVC4(4)json与对象互转实例解析请求响应数据转换器
- spring学习笔记(17)数据库配置[1]spring数据连接池详解
- 实例解析java + jQuery + json工作过程(获取JSON数据)
- springmvc返回xml格式、json格式数据
- FlashChart json数据配置 中文文档
- “忘掉大数据”之“法”:大数据修炼要五讲四美
- python后端面试第三部分:数据储存与缓存相关--长期维护
- beego框架返回json数据
- 数据中台快没得炒作了!Gartner给想建数据中台的一些建议
- 【STM32F429的DSP教程】第37章 STM32F429的FIR低通滤波器实现(支持逐个数据的实时滤波)
- Atitit 信息化数据采集与分析解析 技术 处理技术 爬虫与http rest json xml h5解析 db数据库 mail协议与处理 数据压缩与解压 数据处理 文本处理
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- Android JSON解析json数据
- Python JSON 数据|编码解码JSON数据,import json,json.dumps,json.loads
- java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串
- python 数据序列化(json、pickle、shelve)
- springMVC框架下JQuery传递并解析Json数据
- 数据分析师面临的11个挑战及其解决方法
- 大数据Hadoop之——Hadoop HDFS多目录磁盘扩展与数据平衡实战操作
- Extjs grid 获取json数据时报各种错误的原因(缺少分号,语法错误)
- Python使用技巧(十六):固定时间输出模拟数据
- eodhd 财经数据 股票数据下载api python国外股票市场 json数据 tushare 股票数据