Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 api调用-加载失败,飞行前响应无效(重定向)_Javascript_Node.js_Reactjs_Axios - Fatal编程技术网

Javascript Axios api调用-加载失败,飞行前响应无效(重定向)

Javascript Axios api调用-加载失败,飞行前响应无效(重定向),javascript,node.js,reactjs,axios,Javascript,Node.js,Reactjs,Axios,当我在端口3333上使用AdonisJs框架在Nodejs中运行下面的代码时,是否有任何原因可以解释下面的代码工作正常 但是如果我在componentWillMount的3000端口上运行React应用程序,我会得到错误 Failed to load https://jsonodds.com/api/odds/nfl: Response for preflight is invalid (redirect) componentWillMount(){ axios.get("https:

当我在端口3333上使用AdonisJs框架在Nodejs中运行下面的代码时,是否有任何原因可以解释下面的代码工作正常
但是如果我在componentWillMount的3000端口上运行React应用程序,我会得到错误

Failed to load https://jsonodds.com/api/odds/nfl: Response for preflight is invalid (redirect)


 componentWillMount(){
  axios.get("https://jsonodds.com/api/odds/nfl", {headers: {"X-Api-Key": "xxx"}})
        .then(function (response) {
        console.log(response)
        })
        .catch(function (error) {
          console.log(error);
        });

  }

飞行前请求是由浏览器发送的请求

NodeJS只是不发出飞行前请求,因为它不需要实现CORS

飞行前请求是选项请求(因此不需要响应正文),也不允许重定向

要解决此问题,您需要正确配置API端,以便它不会返回选项请求的重定向


[UPD]如果您无法接触API服务器,您可以实现自己的后端代理,该代理将从前端接收请求,并在内部询问API服务器。将不会应用CORS(飞行前有限制),而且您的API密钥将保密

您也可以使用API代码吗?我可以将其私密消息发送给您,我不希望将其发布在此处,因为API限制可能我无法访问API端。我读了一点,但还是有点困惑。按照我的理解,我无法直接删除或更新api。有没有其他方法来解决这个问题,即使现在只是在开发方面?@born2gamble是的,您可以询问自己的BE,它将向API服务器发送请求(无任何CORS预飞行)。这也意味着你将不会暴露我也面临的API密钥名问题,jquery请求工作正常,但我使用axios cors时出现错误。@BijitashyaBirinchi我猜你已经配置了
axios
发送额外的头(授权?),但没有对
jquery
version@skyboyer
axios.post('https://test.pvi.com/j_spring_security_check“,{withCredentials:true,crossorigin:true,Header:{common:{‘访问控制请求方法’:‘POST’,‘访问控制请求头’:‘来源,x-requested-with’,//‘来源’:’https://localhost:5000“,'X-Api-Key':'xxx'},数据:JSON.stringify({j_用户名:电子邮件,j_密码:密码})})