Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的axios post在我的功能组件中返回未定义?_Javascript_Reactjs_Next.js - Fatal编程技术网

Javascript 为什么我的axios post在我的功能组件中返回未定义?

Javascript 为什么我的axios post在我的功能组件中返回未定义?,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,我不熟悉下一代Js和功能组件。我正在尝试从/api/retrieve2检索数据 //this is retrieve page export default function Retrieve() { const onSubmit = async data => { const { user } = await axios.post("/api/retrieve2", data); console.log(user) // user

我不熟悉下一代Js和功能组件。我正在尝试从/api/retrieve2检索数据

//this is retrieve page
export default function Retrieve() {
    const onSubmit = async data => {        
        const { user } = await axios.post("/api/retrieve2", data);
        console.log(user) // user here is undefined
        };
    return (...);
}
我错过了什么,这是关于下一步的事吗?关于功能组件?

您应该阅读有关ES6解构的内容

您尝试解构用户,但axios Response开关是一个不包含密钥用户的对象

对于数据,它可以工作,因为响应中有一个数据属性

以下是您可以分解的所有属性:

{ data, status, statusText, headers, config, request }
您应该阅读有关ES6解构的内容

您尝试解构用户,但axios Response开关是一个不包含密钥用户的对象

对于数据,它可以工作,因为响应中有一个数据属性

以下是您可以分解的所有属性:

{ data, status, statusText, headers, config, request }

您需要获得完整的URL才能使用getInitialProps向发出http请求,这里Home是您的组件的名称

const Home = ({ENDPOINT}) => {
   const onSubmit = async data => {        
        const { data } = await axios.post(`${ENDPOINT}/api/retrieve2`, data);
        // consider changing `user` here to `data` since Axios stores response in data object 
        console.log(data) // should be defined
   };

   return (...);

}

Home.getInitialProps = ctx => {
  const ENDPOINT = getEndpoint(ctx.req);
  return { ENDPOINT };
};

// You should store this somewhere you can reuse it
export function getEndpoint(req) {
  return !!req
    ? `${req.headers['x-forwarded-proto']}://${req.headers['x-forwarded-host']}`
    : window.location.origin;
}


您需要获得完整的URL才能使用getInitialProps向发出http请求,这里Home是您的组件的名称

const Home = ({ENDPOINT}) => {
   const onSubmit = async data => {        
        const { data } = await axios.post(`${ENDPOINT}/api/retrieve2`, data);
        // consider changing `user` here to `data` since Axios stores response in data object 
        console.log(data) // should be defined
   };

   return (...);

}

Home.getInitialProps = ctx => {
  const ENDPOINT = getEndpoint(ctx.req);
  return { ENDPOINT };
};

// You should store this somewhere you can reuse it
export function getEndpoint(req) {
  return !!req
    ? `${req.headers['x-forwarded-proto']}://${req.headers['x-forwarded-host']}`
    : window.location.origin;
}


可能用户无法从返回的数据中解构。尝试发布api的响应以便我们可以看到。如果用户在数据中,const{data:{user}}=wait axios.post/api/retrieve2,data;可能用户无法从返回的数据中解构。尝试发布api的响应以便我们可以看到。如果用户在数据中,const{data:{user}}=wait axios.post/api/retrieve2,data;这就是我的数据的样子-{email:'casas@gmail.com“,代码:'123123'}您来自服务器的响应总是在数据中这就是我的数据的样子-{email:'casas@gmail.com“,代码:'123123'}服务器的响应始终在数据中