怎么在express中使用axios?

发布于 2022-09-06 20:12:24 字数 969 浏览 27 评论 0

express配置中已经使用了中间件http-proxy-middleware并且配置了转发

app.use('/api', proxy({
    target: 'http://x.x.x.x.',
    changeOrigin: true,
    pathRewrite: {
        '^/api': '/'
    }
}));

而在 app.get 方法中使用 axios 的时候会报错:

app.get('/index/test', function(req, res) {
    axios.get('/api/index/getdata.html?page=1') // 这里如果写成 http://x.x.x.x/index/getdata.html?page=1 就不会报错
        .then(result=>{
            console.log(result);
            return res.send('test');
        })
});

output

(node:12952) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Request failed with status code 404
(node:12952) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

其中我想要使用 /api ,不知道怎么实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

骷髅 2022-09-13 20:12:24

你这里需要指定协议,域名和端口呀,不然它怎么知道你去请求哪儿;
不像浏览器,浏览器访问一个网站,这些都知道了的
在这儿可以使用
http://127.0.0.1:port/api

时光暖心i 2022-09-13 20:12:24

调整代理

proxyTable: {
      '/': {
        target: 'http://localhost:8888/api',
        changeOrigin: true,
        pathRewrite: {
          '^/': '/'
        }
      },
    },

在你的vue文件中引入axios,然后使用,如下:

<script>
import axios from 'axios'
export default {
  data(){
    return{
      titleCate:[],
    }
  },
  mounted(){
    this.init();
  },
  methods:{
    init(){
      axios.get('/titlecate').then((response)=>{
        this.titleCate = response.data;
      });
    }
  }

}
</script>

以上

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文