axios使用create创建实例并设置baseURL报错“Error: Request failed with status code 404“

本文介绍了一个常见的Axios请求错误——状态码404,并详细解析了错误的原因在于baseUrl配置错误,最后给出了正确的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常

Error: Request failed with status code 404
    at createError (D:\NodeJs\node-demo\node_modules\axios\lib\core\createError.js:16:15)
    at settle (D:\NodeJs\node-demo\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (D:\NodeJs\node-demo\node_modules\axios\lib\adapters\http.js:293:11)
    at IncomingMessage.emit (node:events:402:35)
    at endReadableNT (node:internal/streams/readable:1340:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [Function: httpAdapter],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 1000,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    headers: {
      Accept: 'application/json, text/plain, */*',
      'User-Agent': 'axios/0.24.0'
    },
    baseUrl: 'http://poetry.apiopen.top/',
    method: 'get',
    url: '/sentences',
    data: undefined
  },

错误代码

var axios = require('axios');

var axiosInstance = axios.create({
    baseUrl: 'http://poetry.apiopen.top/',
    timeout: 1000
});
axiosInstance
    .get('/sentences')
    .then(function (res) {
        console.log(res.data)
    });

原因

根据提示报出的响应状态码404,知道是路径的问题,但这个请求接口路径没有问题,但是这里使用了axios的baseURL,所以问题出在这。

我们看官网的示例代码是:

const instance = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

仔细看原来我们是把baseURL属性写成了baseUrl,所以导致报错。

解决

baseUrl改成baseURL

正确代码

var axios = require('axios');

var axiosInstance = axios.create({
    baseURL: 'http://poetry.apiopen.top/',
    timeout: 1000
});
axiosInstance
    .get('/sentences')
    .then(function (res) {
        console.log(res.data)
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值