在VUE中 定义一个axios的配置文件里面写入请求拦截器 并且在拦截器内获取VUEX中的其中一个值
时间: 2024-05-18 19:16:56 浏览: 7
可以在axios的配置文件中定义请求拦截器,并在其中获取Vuex中的值。具体实现方法如下:
1. 在Vuex中定义需要获取的值,例如YiLiaoJiGouId。
2. 在axios的配置文件中引入Vuex,并获取需要的值,例如YiLiaoJiGouId。
3. 在axios的配置文件中定义请求拦截器,在拦截器中将获取到的值添加到请求头中,以便后端获取。
以下是示例代码:
在Vuex中定义需要获取的值:
```js
// store/index.js
import { createStore } from 'vuex'
export default createStore({
state() {
return {
YiLiaoJiGouId: '9397389D47551112'
}
}
})
```
在axios的配置文件中引入Vuex,并获取需要的值:
```js
// axios.js
import axios from 'axios'
import store from './store/index.js'
const instance = axios.create({
baseURL: 'http://example.com/api',
timeout: 10000
})
// 在axios的请求拦截器中获取Vuex中的YiLiaoJiGouId的值
instance.interceptors.request.use(
config => {
config.headers['YiLiaoJiGouId'] = store.state.YiLiaoJiGouId
return config
},
error => {
console.log(error)
return Promise.reject(error)
}
)
export default instance
```
在上述代码中,我们通过store.state.YiLiaoJiGouId来获取Vuex中的YiLiaoJiGouId的值,并将其添加到请求头中,以便后端获取。