ajax获取json数据及实现跨域请求
最近想练习一下ajax获取json数据 , 首先上网找一些在线的可用来测试的接口.
-----------------------------------------------------这里是接口分割线 Begin--------------------------------------------------------------------------------------------------
电商接口
- 淘宝商品搜索建议:
http://suggest.taobao.com/sug?code=utf-8&q=商品关键字&callback=cbps:callback是回调函数设定
物流接口
- 快递接口:
http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号ps:快递公司编码:申通="shentong" EMS="ems" 顺丰="shunfeng" 圆通="yuantong" 中通="zhongtong" 韵达="yunda" 天天="tiantian" 汇通="huitongkuaidi" 全峰="quanfengkuaidi" 德邦="debangwuliu" 宅急送="zhaijisong"
谷歌接口
- FeedXml转json接口:
http://ajax.googleapis.com/ajax/services/feed/load?q=Feed地址&v=1.0备选参数:callback:&callback=foo就会在json外面嵌套foo({})方便做jsonp使用。
备选参数:n:返回多少条记录。
百度接口
- 百度百科接口:
http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_key=关键字&bk_length=600查询出错示例如下:查看原始页面 {"error_code":"20000","error_msg":"search word not found"}
天气接口
- 百度接口:
http://api.map.baidu.com/telematics/v3/weather?location=嘉兴&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZlocation:城市名或经纬度 ak:开发者密钥 output:默认xml
- 气象局接口:
http://m.weather.com.cn/data/101010100.html
- 新浪接口:
http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&dfc=1&charset=utf-8参数中city如果给了参数就是相关的城市,否则会自动判断
day=0的话是今天
返回的参数 大家看着办吧,具体的我也不清楚,新浪没给API。
音乐接口
- QQ空间音乐接口
http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?uin=QQ号码&json=1&g_tk=1916754934
- QQ空间收藏音乐接口
http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin=QQ号&p=0.519638272547262&g_tk=1284234856
- 多米音乐接口
http://v5.pc.duomi.com/search-ajaxsearch-searchall?kw=关键字&pi=页码&pz=每页音乐数
- soso接口
http://cgi.music.soso.com/fcgi-bin/fcg_search_xmldata.q?source=10&w=关键字&perpage=1&ie=utf-8
视频信息接口
- 优酷
http://v.youku.com/player/getPlayList/VideoIDS/视频ID (比如 http://v.youku.com/v_show/id_XNTQxNzc4ODg0.html的ID就是XNTQxNzc4ODg0)
- 爱奇艺
http://cache.video.iqiyi.com/jp/avlist/202861101/1/?callback=jsonp9
- 土豆接口
http://api.tudou.com/v3/gw?method=album.item.get&appKey=Appkey&format=json&albumId=视频剧集ID&pageNo=当前页&pageSize=每页显示http://www.tudou.com/tvp/getMultiTvcCodeByAreaCode.action?type=3&app=4&codes=Lqfme5hSolM&areaCode=320500&jsoncallback=__TVP_getMultiTvcCodeByAreaCode
地图接口
- 阿里云根据地区名获取经纬度接口
http://gc.ditu.aliyun.com/geocoding?a=苏州市参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)
- 阿里云根据经纬度获取地区名接口
http://gc.ditu.aliyun.com/regeocoding?l=39.938133,116.395739&type=001
- 获取用户的IP,国家代码缩写,经纬度
http://www.telize.com/geoip?callback=a参数解释: callback是回调函数
- 获取用户经纬度,以及获取附近建筑物名/span>
http://ditu.amap.com/service/pl/pl.json?rand=635840524184357321http://ditu.amap.com/service/regeo?longitude=121.04925573429551&latitude=31.315590522490712
IP接口
- 新浪接口(ip值为空的时候 获取本地的)
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.4.255.255
- 淘宝接口
http://ip.taobao.com/service/getIpInfo.php?ip=63.223.108.42
手机信息查询接口
- 淘宝网接口
http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号
- 拍拍接口
http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=手机号&amount=10000&callname=getPhoneNumInfoExtCallback
- 百付宝接口
https://www.baifubao.com/callback?cmd=1059&callback=phone&phone=手机号
- 115接口
http://cz.115.com/?ct=index&ac=get_mobile_local&callback=jsonp1333962541001&mobile=手机号
- 有道接口
http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&type=mobile&q=手机号
- 手机在线接口
http://api.showji.com/Locating/www.showji.com.aspx?m=手机号&output=json&callback=querycallback
翻译、词典接口
- 腾讯
http://dict.qq.com/dict?q=词语
腾讯的部分接口
- 获取QQ昵称和用户头像
http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=QQ(不过是jsonp哦)
-----------------------------------------------------这里是接口分割线 End --------------------------------------------------------------------------------------------------
__GetZoneResult_ = {
mts:'1881234',
province:'云南',
catName:'中国移动',
telString:'18812345674',
areaVid:'30515',
ispVid:'3236139',
carrier:'云南移动'
}
再看下一个测试接口:
https://suggest.taobao.com/sug?code=utf-8&q=商品&callback=cb (获得的数据如下:
cb({"result":[["商品标价签","27202"],["商品推广","14630"],["商品展示架","34265"],["商品标价签 价格牌","27112"],["商品标签贴纸","3321"],["商品标签","31882"],["商品价格标签","24871"],["商品展示柜","8392"],["商品标签牌","17382"],["商品推广f","3"]]})
再来看一个在网上找到的接口:
http://askh5.com/try/data/starJson 获得的数据如下:
{ "count": "3", "records": [ { "Name" : "Messi", "Club" : "巴塞罗那" }, { "Name" : "C罗", "Club" : "皇家马德里" }, { "Name" : "鲁尼", "Club" : "曼联" } ] }
经过测试,以上几个接口都是可以正常获取数据的,所以现在就以上面这两个接口为例,开始用ajax(jQuery的ajax方法)来获取及处理数据。
同样的,我们先看一下使用ajax跨域获取接口数据的例子:
$.ajax({
url:'https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=18812345674', //这里的url就是上面测试的一个接口
dataType:'jsonp',
success:function(result){
console.log(result);
},
error:function(){
console.log("fail");
}
})
Object { mts: "1881234", province: "云南", catName: "中国移动", telString: "18812345674", areaVid: "30515", ispVid: "3236139", carrier: "云南移动" } //在浏览器console.log(result)得到数据
待续----------------------------------
ajax获取json数据及实现跨域请求的更多相关文章
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
jquery.tmpl.js 是一个模板js ,主要有2个方法 (1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate' ...
- JS-利用ajax获取json数据,并传入页面生成动态tab
封装好的:ajax.js function ajax(url, fnSucc,fnFaild){ //1[创建] if(window.XMLHttpRequest){ var oAjax = new ...
- AngularJS学习笔记(3)——通过Ajax获取JSON数据
通过Ajax获取JSON数据 以我之前写的与用户交互的动态清单列表为例,使用JSON前todo.html代码如下: <!DOCTYPE html> <html ng-app=&quo ...
- 【转】solr+ajax智能拼音详解---solr跨域请求
本文转自:http://blog.csdn.net/wangzhaodong001/article/details/8529090 最近刚做完solr的ajax智能拼音.总结一下. 前端:jQuery ...
- jQuery AJAX获取JSON数据解析多种方式示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ajax获取json数据为undefined--原因解析
解决办法:var dataObj=eval("("+data+")");//转换为json对象 问题: 1. 碰到一个问题ajax成功获取json数据后,取值显 ...
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...
- ajax获取json数据 for select2
json数据“a.json” [ { "id": "1", "text": "张三" }, { "id&quo ...
- json替换jsonp实现跨域请求
最近遇到h5前端页面和web后端双方的请求存在跨域,普通的jquery.ajax请求已不能实现(因为js是不允许跨域的(如果可以跨域,那就能随便改别人的网页了),js的原理), 最后经过艰苦奋斗,终于 ...
随机推荐
- 2018.09.23 codeforces 1053B. Vasya and Good Sequences(前缀和)
传送门 考试的时候卡了一会儿. 显然这个答案只跟二进制位为1的数量有关. 还有一个显然的结论. 对于一个区间[l,r][l,r][l,r],如果其中单个数二进制位为1的数量最大值不到区间所有数二进制位 ...
- 2018.08.21 NOIP模拟 unlock(模拟+找规律)
unlock 描述 经济危机席卷全球,L国也收到冲击,大量人员失业. 然而,作为L国的风云人物,X找到了自己的新工作.从下周开始,X将成为一个酒店的助理锁匠,当然,他得先向部门领导展示他的开锁能力. ...
- Django入门与实践-第20章:QuerySets(查询结果集)(完结)
http://127.0.0.1:8000/boards/1/ #boards/models.py from django.utils.text import Truncator class Topi ...
- 8.7 使用索引-notes
七 正确使用索引 一 索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题 1 范围问题,或者说条件不明确,条件中出现这 ...
- js模态窗口返回值(table)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [笔记]python
配置python apt install python2.7 python3 apt install python-bs4 python3-bs4 apt install virtualenv apt ...
- SSH整合 第三篇 Spring的加入
1.思路和想法. 目前理解到的,觉得是的,可能的,应该这样的……………… Spring的两大核心是IoC和AOP Ioc:帮助实例化对象,加载到容器中,在注入到需要用到的地方.这样就可以减少在不同的方 ...
- _RecordsetPtr使用方法
_variant_t vUsername,vID,vname; //变量声明 _RecordsetPtr m_pRecordset; //记录集 CString strid; _Connect ...
- hdu 1877
题目 一个进制转换的题,注意0+0的情况 代码如下: #include <cstdio> int d[1000]; void solve(int n,int base) { int p = ...
- [A,D]=solverAdini(node,elem,bdEdge,h1,h2)
>> [A,D]=solverAdini(node,elem,bdEdge,h1,h2) A = (1,1) 14.5000 (2,1) 11.0000 (3,1) 11.5000 (4, ...