React,axios,use返回CORS

px9o7tmv  于 2023-08-04  发布在  iOS
关注(0)|答案(1)|浏览(127)

我在我的react应用程序中发出CORS请求,这是服务器允许的。
当我使用[]从UseEffect进行API调用时,它会返回CROS错误,但是当在按钮上调用相同的API时,单击它会正常工作,或者使用useEffect内部的setTimeOut时,它会正常工作。
我不明白为什么。

function getData(){
  axios.post('/cors_enabled_api_URL',body).then(res=>{
        console.log(res);
    }).catch(err=>{
        console.log(err);
    });
}

export default function DashBoard(){      
    const {data,setData} = useState(null)
    useEffect(()=>{           
      getData();          // API is not working and returning CORS
    },[])
    return (                
         <h1>DashBoard</h1>
        <button onClick={getData}>Test</button> // API call is Working
    )
}

字符串

u0sqgete

u0sqgete1#

尝试在getData函数中添加async:

async function getData(){
  axios.post('/cors_enabled_api_URL',body).then(res=>{
        console.log(res);
    }).catch(err=>{
        console.log(err);
    });
}

export default function DashBoard(){      
    const {data,setData} = useState(null)
    useEffect(()=>{           
      getData();          // API is not working and returning CORS
    },[])
    return (                
         <h1>DashBoard</h1>
        <button onClick={getData}>Test</button> // API call is Working
    )
}

字符串

相关问题