本文共 1173 字,大约阅读时间需要 3 分钟。
在前后端分离项目中,使用Axios进行数据交互时,需要在请求头中携带token值以访问有权限的页面。在Uniapp项目中使用uni.request
发送请求时,可能会遇到请求头中未携带token的问题,导致部分有权限页面无法加载。以下是解决问题的详细步骤:
保存token到本地存储
登陆成功后,将token保存到本地存储中,确保在页面刷新或跳转时仍能获取到token值。例如,可以使用uni.getStorageSync('token')
来存取和获取token。创建请求处理文件
为简化HTTP请求的处理,创建一个request.js
文件,用于统一管理HTTP请求。以下是文件的配置内容:const BASE_URL = 'http://127.0.0.1:8088'; // 接口地址export const http = (options) => { return new Promise((resolve, reject) => { uni.request({ url: BASE_URL + options.url, method: options.method || 'GET', data: options.data || {}, header: { Authorization: uni.getStorageSync('token') }, success: (res) => { if (res === '') { return uni.showToast({ icon: 'loading', title: '获取数据失败' }); } resolve(res); }, fail: (err) => { return uni.showToast({ icon: 'loading', title: '请求失败' }); reject(err); } }); });};
在需要访问有权限页面的页面中引入请求处理文件
在需要访问有权限页面的页面文件中,引入http
函数,并在调用时传递参数。例如:http({ url: '/api/user-info', // 接口地址 method: 'GET'});
确保在调用http
函数时,传递正确的token参数,确保请求头中携带有效的token值。
通过以上步骤,可以确保在Uniapp项目中,请求头中正确携带token值,从而顺利访问需要权限的页面。
转载地址:http://wyfg.baihongyu.com/