angular2jsonp如何跨域请求百度API进行定位
前提,百度api的申请,不会的可以百度一下,下面是连接
http://lbsyun.baidu.com/index.php?title=webapi/ip-api
1.appMoudle里引入
import {JsonpModule} from "@angular/http";
2.要导入的文件.ts文件
import {Jsonp, URLSearchParams} from "@angular/http";
constructor(public jsonp:Jsonp)
3.第三步
let URL = new URLSearchParams();
URL .set('callback', 'JSONP_CALLBACK');
这一步设置callback很关键,如果不写会报错
4.最后一步请求
this.jsonp.get('https://api.map.baidu.com/location/ip?ak=XefiY53vkdFmccR2ufk8qmrXPyOCGTaG',{search:URL}).subscribe((res:any) => { if(res.status === 200){ console.log(this.cityToInterNumber); console.log(res._body.content.address_detail.city); //调用成功,可以处理拿到的数据 } })
要注意url的拼接,确保可以成功掉通