getInitialProps中的请求在使用请求包装器类时失败但与axios一起使用

时间:2017-12-20 13:45:21

标签: node.js laravel express axios next.js

在我的getInitialProps的NextJS应用程序中,我正在使用Axios的这个包装类:https://gist.github.com/sheharyarn/7f43ef98c5363a34652e60259370d2cb

当我向我的api(laravel)发出请求时,它会在包装类中失败并显示错误消息(上面包装类的第34行):

  

请求失败:未定义

     

错误消息:console.debug不是函数

const response = await request({
            method: 'post',
            url: 'api/profile',
            data: {
                username: req.params.username,
            }
        }).then((res) => {
            return {
                initialProps: res.data,
            };
        }).catch(() => {
            return {};
        });

然而,当我使用axios开箱即用它工作正常(我回到initialProps):

const response = await axios.post('http://localhost:3000/api/profile', {
            params: {
                username: req.params.username,
            }
        }).then((res) => {
            return {
                initialProps: res.data,
            };
        }).catch((error) => {
            return {};
        });

有人可以看到导致此问题的内容吗?

同样,当我在componentDidMount中执行完全相同的request()调用时,它可以正常工作。

在那个request.js包装器类中,我将其配置如下:

const client = axios.create({
    baseURL: 'http://localhost:3000/'
});

0 个答案:

没有答案