uni-app ajax请求进行封装(待改进)
以下是一个简单的uni-app中对ajax请求进行封装的示例代码:
// utils/http.js
const baseUrl = 'https://your-api-domain.com'; // 替换为你的API域名
export function request(options) {
return new Promise((resolve, reject) => {
uni.request({
url: baseUrl + options.url, // 拼接URL
method: options.method || 'GET', // 请求方法,默认为GET
data: options.data || {}, // 请求参数
header: options.header || { 'Content-Type': 'application/json' }, // 设置请求的 header,可以自定义
success: (res) => {
// 请求成功
if (res.statusCode === 200) {
resolve(res.data);
} else {
// 可以根据项目要求处理其他状态码的情况
reject(res.errMsg);
}
},
fail: (err) => {
// 请求失败处理
reject(err);
}
});
});
}
使用封装后的请求方法:
// 在其他组件或页面中使用
import { request } from '@/utils/http.js';
request({
url: '/endpoint', // 你的API接口路径
method: 'POST', // 请求方法
data: {
key: 'value' // 请求参数
},
header: {
'custom-header': 'value' // 自定义请求头
}
}).then(response => {
console.log('请求成功:', response);
}).catch(error => {
console.error('请求失败:', error);
});
这个封装的request
函数接受一个options
对象作为参数,其中可以包含url
、method
、data
、header
等属性。函数返回一个Promise对象,方便在其他地方通过.then
或.catch
处理异步操作结果。这个封装可以根据项目具体需求进一步完善,比如添加全局的loading提示、错误处理、拦截器等功能。
评论已关闭