Nar*_*esh 4 vue-router vuex vuejs2 laravel-5.4
我已经将VueJS项目部署到了一个域,www.example.com/demos/app,
但是当我从axios向api发送请求时,它指向www.example.com/login而不是www.example.com/demos/app/login
这是我的请求代码使用 axios
export const login = ({ dispatch }, { payload, context }) => {
return axios.post('/login', payload).then((response) => {
// do something
}).catch((error) => {
// handle erros
})
}
Run Code Online (Sandbox Code Playgroud)
Rwd*_*Rwd 14
您可以采用的一种方法是在页面的头部添加元标记(就像您可以使用csrf一样),然后在bootstrap.js文件中引用它:
头
<meta name="api-base-url" content="{{ url('demos/app') }}" />
Run Code Online (Sandbox Code Playgroud)
bootstrap.js(下面window.axios = require('axios');)
window.axios.defaults.baseURL = document.head.querySelector('meta[name="api-base-url"]').content;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
在 config.js 中:
const CONFIG = {
API_URL_ROOT: 'http://localhost:8000/api/v1/',
}
export default CONFIG;
Run Code Online (Sandbox Code Playgroud)
您可以像这样设置 axios 默认值:
import config from '../config.js';
axios.create({
baseURL: config.API_BASE_URL
});
Run Code Online (Sandbox Code Playgroud)
或者您可以通过导入API_BASE_URL来设置路径config,然后在每次get/post/put/delete拨打电话时指向它axios
| 归档时间: |
|
| 查看次数: |
4016 次 |
| 最近记录: |