ajax跨域文件,ajax文件交互跨域问题

title: AJAX(音乐app)

date: 2017-04-20 08:35:17

tags: ajax

关于AJAX的常见格式(音乐APP路径)

1.原始AJAX跨域问题解决方法,——利用script标签进行跨域调取数据,

function fun(data){

console.log(data);

for(var i=0;i

console.log(data.subjects[i].title);

}

}

2.调取json(本地文件)

var xmlHttp;

var oDiv=document.querySelector("div");

if(window.XMLHttpRequest){

xmlHttp=new XMLHttpRequest();

}else{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlHttp.open("GET","student.json",true);

xmlHttp.send();

xmlHttp.onreadystatechange=function(){

if(xmlHttp.readyState==4 && xmlHttp.status==200){

var txt=xmlHttp.responseText;

var txtjson=JSON.parse(txt);

console.log(txtjson.constructor==Array);

for (var i=0;i

var div1=document.createElement("div"); /*创建元素*/

div1.innerHTML="姓名:"+txtjson[i].name+"
性别:"+txtjson[i].sex+"
年龄:"+txtjson[i].age;

oDiv.appendChild(div1); /*追加元素*/

}

}

}

3.本地调取XML文件

var xmlHttp;

var oDiv=document.querySelector("div");

if(window.XMLHttpRequest){

xmlHttp=new XMLHttpRequest();

}else{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlHttp.open("GET","xml.xml",true)

xmlHttp.send();

xmlHttp.onreadystatechange=function(){

if(xmlHttp.status==200 && xmlHttp.readyState==4){

var Tet=xmlHttp.responseXML;

oDiv.innerHTML=Tet.getElementsByTagName("name")[0].innerHTML+"的性别是"+

Tet.getElementsByTagName("sex")[0].innerHTML

+"的年龄是"+Tet.getElementsByTagName("age")[0].innerHTML;

}

}

JQuery Ajax方法及格式。

$.ajax({

type:"post",

url:url, //必选。规定吧请求发送到那个URL。

data:data,//可选。映射或字符串值。规定连同请求发送到服务器的数据。

success:success, //可选,请求成功时执行的回调函数。

datatype:dataType//可选。规定预期的服务器响应的数据类型。默认执行职能判断(xml,json,script 或html)

});

srccess(data,textStatus,jqXHR)//请求成功时执行的回调函数。。

async:false//同步

true//异步 默认为异步

cache:false,//(默认: true,dataType为script和jsonp时默认为false) jQuery 1.2 新功能,设置为 false 将不缓存此页面

```

5. APIcloud Ajax格式和用法(以官方文档为准)

api.ajax({

url: 'http://192.168.1.101:3101/upLoad',

method: 'post',

data: {

values: {

name: 'haha'

},

files: {

file: 'fs://a.gif'

}

}

}, function(ret, err) {

if (ret) {

api.alert({ msg: JSON.stringify(ret) });

} else {

api.alert({ msg: JSON.stringify(err) });

}

});

[官网文件路径](http://docs.apicloud.com/Client-API/api#3)

技术干货:关于音乐的API;

(亲测有用,但是请勿滥用,

1. 数据请求过多是,回引起官方的注意,所以不要害了大家。

2. 仅仅只是为了学习Ajax,请勿商业用途,版权归原博客所有。

)

1. 最有用的音乐搜索引擎;搜索出来的结果不是很好,但是能用。——网易云音乐。

Tex:要搜索的关键字;

Limit:返回的数据条数;

url:Ajax返回的路径;

type:不可更改否则报错(本人测试的)但是type的参数是有的如下:

歌曲 1

专辑 10

歌手 100

歌单 1000

用户 1002

mv 1004

歌词 1006

主播电台 1009

$.ajax({

url: "http://s.music.163.com/search/get/",

dataType: "jsonp",

data: {

'type': 1,

's': tex,

'limit': 20

},

jsonp: "callback",

cache: false,

success: function(data) {

console.log(data)

}

})

2.歌曲信息

1Full request URI: http://music.163.com/api/song/detail/?id=28377211&ids=%5B28377211%5D

URL:

GET http://music.163.com/api/song/detail/

必要参数:

id:歌曲ID

ids:不知道干什么用的,用[]括起来的歌曲ID

3.歌手专辑

1Full request URI: http://music.163.com/api/artist/albums/166009?id=166009&offset=0&total=true&limit=5

URL:

GET http://music.163.com/api/artist/albums/歌手ID

必要参数:

limit:获取的数量(不知道为什么这个必须加上)

4.专辑信息

1Full request URI: http://music.163.com/api/album/2457012?ext=true&id=2457012&offset=0&total=true&limit=10

URL:

GET http://music.163.com/api/album/专辑ID

5.歌单

1Full request URI: http://music.163.com/api/playlist/detail?id=37880978&updateTime=-1

URL:

GET http://music.163.com/api/playlist/detail

必要参数:

id:歌单ID

6.歌词

1Full request URI: http://music.163.com/api/song/lyric?os=pc&id=93920&lv=-1&kv=-1&tv=-1

URL:

GET http://music.163.com/api/song/lyric

必要参数:

id:歌曲ID

lv:值为-1,我猜测应该是判断是否搜索lyric格式

kv:值为-1,这个值貌似并不影响结果,意义不明

tv:值为-1,是否搜索tlyric格式

7.MV

1Full request URI: http://music.163.com/api/mv/detail?id=319104&type=mp4

URL:

GET http://music.163.com/api/mv/detail

必要参数:

id:mvid

type:值为mp4,视频格式,不清楚还有没有别的格式。

** 一系列音乐API (本人测试大部分有用)

1)搜索建议

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.search.catalogSug&format=json&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C

搜索建议:只有歌名

http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.search.suggestion&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C&format=json&from=ios&version=2.1.1

2)搜索结果

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.search.common&format=json&query=%E5%B0%8F%E8%8B%B9%E6%9E%9C&page_no=1&page_size=30

3)

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getList&format=jsonℴ=1&offset=0&limit=5

4)新歌榜

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=1&offset=0&size=50

5)热歌榜

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=2&offset=0&size=50 注意这个和上边的区别,type=1

6)Billboard

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=8&offset=0&size=507)Hito中文榜

7)Hito中文榜

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=18&offset=0&size=50

8)KTV热歌榜

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.billboard.billList&format=json&type=6&offset=0&size=50

9)电台列表

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.radio.getCategoryList&format=json

10)获取某个电台下的歌曲列表

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.radio.getChannelSong&format=json&pn=0&rn=10&channelname=public_tuijian_ktv

11)获取songid的歌曲信息

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.song.getInfos&format=json&songid=8059247&ts=1408284347323&e=JoN56kTXnnbEpd9MVczkYJCSx%2FE1mkLx%2BPMIkTcOEu4%3D&nw=2&ucf=1&res=1

12)获取登陆用户的喜爱歌曲列表,其中bduss参数用来标示唯一的用户

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.favorite.getFavoriteSong&format=json&pn=0&rn=50&bduss=UlXZ1dWbm9icDBrMm13aFcwZ282ejlTM1dyS1NEd2JPWXpQcDgyT0w0Vn5SUmhVQVFBQUFBJCQAAAAAAAAAAAEAAAB0L~cOeHl3MDQzNzM1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH-48FN~uPBTd

13)歌手列表

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.get72HotArtist&format=jsonℴ=1&offset=0&limit=50

14)歌手简介,tinguid为歌手id

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getinfo&format=json&tinguid=7994

15)歌手歌曲列表,tinguid为歌手id

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.artist.getSongList&format=jsonℴ=2&tinguid=7994&offset=0&limits=50

16)新碟上架

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.plaza.getRecommendAlbum&format=json&offset=0&limit=50

17)专辑信息

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.album.getAlbumInfo&format=json&album_id=122314357

18)新歌速递

http://tingapi.ting.baidu.com/v1/restserver/ting?from=qianqian&version=2.1.0&method=baidu.ting.plaza.getNewSongs&format=json&limit=50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值