Javascript axios剥离了URL路径的一些位
我正在检查一段代码(由其他人编写),该代码使用axios向服务器发出简单的GET和POST请求 除了向服务器发出一个请求之外,一切似乎都很正常 在提出以下要求时Javascript axios剥离了URL路径的一些位,javascript,axios,Javascript,Axios,我正在检查一段代码(由其他人编写),该代码使用axios向服务器发出简单的GET和POST请求 除了向服务器发出一个请求之外,一切似乎都很正常 在提出以下要求时 url = 'api/items'; axios.get(url).then(res => { // do some work }); 由于某种原因,URL路径的某些部分被剥离 上述请求应发送至 https://test.com/aaa/bbb/api/items 而不是 https://test.com/api/ite
url = 'api/items';
axios.get(url).then(res => {
// do some work
});
由于某种原因,URL路径的某些部分被剥离
上述请求应发送至
https://test.com/aaa/bbb/api/items
而不是
https://test.com/api/items
所有其他请求都可以正常工作(即https://test.com/aaa/bbb/api/xxx
),但不是这个
可能的原因是什么?您可以使用类似的方法
axios.defaults.baseURL = 'https://api.example.com/';
然后你可以使用
url = 'api/items';
axios.get(url).then(res => {
// do some work
});
并向https://api.example.com/api/items
您可能希望查看Global以获取更多信息
正如文档中提到的,您可以有多个实例,并为每个实例设置默认配置,如下所示:
// Set config defaults when creating the instance
const instance = axios.create({
baseURL: 'https://api.example.com'
});
// Alter defaults after instance has been created
instance.defaults.headers.common['Authorization'] = AUTH_TOKEN;
原来API路径设置为
/API/items
,而不是API/items
前面的
/
导致了问题。代码是否设置了baseURL?执行get
的示例页面是否有不同的URL?其他API调用是否相同?@Zesky基本URL似乎不相同set@NimeshkaSrimal是的,所有其他api都以相同的方式调用您在其他api调用中没有设置基本url吗?我的意思是,它们都是这样工作的?是的,我知道这一点,但我想知道为什么除了one@d-_-b它可以初始化每个模板中的每个axios实例,而不是初始化所有模板中使用的axios实例