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的拼接,确保可以成功掉通

 
 
 
 
 
posted @ 2018-10-26 10:01  思绪在漫游  阅读(507)  评论(0编辑  收藏  举报