- 基础
- 进阶
- 工具
- 扩展
- 理解
- API
- 文章
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
网络请求
Mpx提供了网络请求库fetch,抹平了微信,阿里等平台请求参数及响应数据的差异;同时支持请求拦截器,请求取消等
使用说明
import mpx from '@mpxjs/core'
import mpxFetch from '@mpxjs/fetch'
mpx.use(mpxFetch)
// 第一种访问形式
mpx.xfetch.fetch({
url: 'http://xxx.com'
}).then(res => {
console.log(res.data)
})
mpx.createApp({
onLaunch() {
// 第二种访问形式
this.$xfetch.fetch({url: 'http://test.com'})
}
})
导入api说明
mpx-fetch提供了一个实例 xfetch ,该实例包含以下api
- fetch(config), 正常的promisify风格的请求方法
- CancelToken,实例属性,用于创建一个取消请求的凭证。
- create(), 用于创建一个新的mpx-fetch实例
- interceptors,实例属性,用于添加拦截器,包含两个属性,request & response
请求拦截器
mpx.xfetch.interceptors.request.use(function(config) {
console.log(config)
// 也可以返回promise
return config
})
mpx.xfetch.interceptors.response.use(function(res) {
console.log(res)
// 也可以返回promise
return res
})
请求中断
const cancelToken = new mpx.xfetch.CancelToken()
mpx.xfetch.fetch({
url: 'http://xxx.com',
data: {
name: 'test'
},
cancelToken: cancelToken.token
})
cancelToken.exec('手动取消请求') // 执行后请求中断,返回abort fail
支持 emulateJSON
mpx.xfetch.fetch({
url: 'http://xxx.com',
method: 'POST',
data: {
name: 'test'
},
emulateJSON: true // 等价于header = {'content-type': 'application/x-www-form-urlencoded'}
})
支持 params
mpx.xfetch.fetch({
url: 'http://xxx.com',
params: {
name: 'test'
}
})
mpx.xfetch.fetch({
url: 'http://xxx.com',
method: 'POST',
params: {
age: 10
},
data: {
name: 'test'
},
emulateJSON: true // 等价于header = {'content-type': 'application/x-www-form-urlencoded'}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论