jsonGet源码
我们经常在项目中遇到跨域问题,比如有时候在做个人项目的时候,我们需要请求第三方的一些数据,比如请求豆瓣公开api的数据,或则qq音乐开放api 的数据等等。但是毫无疑问,在我们的web应用中直接请求这些api将出现跨域问题。所以笔者心血来潮写了个插件—— jsonpGet。我们可以通过它来向跨域api发送get请求。下面直入主题,不多废话。
jsonpGet
简单易用的jsonp跨域请求插件,并且它返回一个promise。
安装
通过npm进行安装:
$ npm install jsonp-get
用法
jsonpGet(url, params?, callback?)
-
url
(string
) 要请求的地址 -
params
(object
) 参数,组成url
的参数部分如:{a: 1, b: 2}
转为?a=1&b=2
-
callback
(string
) 前后端约定的字段名,默认值为callback(通常为此值),用来携带回调。
demo
比如,向豆瓣公开api发送请求。我们可以在then方法的回调中处理我们的数据,十分方便。
import jsonpGet from 'jsonp-get'
let url = 'https://api.douban.com/v2/movie/search'
let params = { tag: '喜剧' }
jsonpGet(url, params)
.then(res => {
console.log(res)
})
.catch(err => {
console.log(err)
})
/* Network
*
* Request URL: https://api.douban.com/v2/movie/search?tag=%E5%96%9C%E5%89%A7&callback=myback
* Request Method: GET
* Status Code: 200 OK
*/
/* Console
*
* {count: 20, start: 0, total: 200, subjects: Array(20), title: "带有标签 "喜剧" 的条目"}
*/
Github: jsonGet项目 有什么问题,欢迎提 issues
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。