URL开头的本地主机IP发送带有Axios的HTTP get请求 [英] HTTP get request with Axios gets sent with the local host IP at the beginning of the URL
问题描述
我正在尝试通过Axios发送HTTP请求,但出现404错误.原因是请求与URL开头的本地主机IP一起发送,为什么会发生这种情况?
I am trying to sent an HTTP request with Axios, but I get a 404 error. The reason is that the request gets sent with the local host IP at the beginning of the URL, why is this happening?
JS:
function getWeather() {
axios.get('api.openweathermap.org/data/2.5/weather', {
params: {
lat: 30.18,
lon: 30.87,
appid: '57d9478bc08bc211f405f45b93b79272'
}
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
})
};
getWeather();
错误:
http://127.0.0.1:5500/api.openweathermap.org/data/2.5/weather?lat=30.18&lon=30.87&appid=57d9478b#####################3b79272 404 (Not Found)
推荐答案
在Axios的URL参数中,您未指定用于API请求的协议(可能是HTTP).因此,Axios会将其解释为相对URL路径,并添加本地服务器的路径,因为它需要完整的URL才能发出请求.
In the URL argument for Axios, you are not specifying the protocol to use for your API request (probably HTTP). Because of that, Axios interprets it as a relative URL path and adds the path of your local server, because it needs a full URL to make the request.
您可以通过添加http://前缀来轻松修复它:
You can easily fix it by adding the http:// prefix:
axios.get('http://api.openweathermap.org/data/2.5/weather', {
这篇关于URL开头的本地主机IP发送带有Axios的HTTP get请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!