Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 React axios从Flask后端获取空数据_Javascript_Reactjs_Flask - Fatal编程技术网

Javascript React axios从Flask后端获取空数据

Javascript React axios从Flask后端获取空数据,javascript,reactjs,flask,Javascript,Reactjs,Flask,我在前端有一个react表单,用户可以提交他们想问的问题。将表单数据发送到flask服务器,使用一些NLP模型进行计算并获得结果。然后将结果返回到前端 问题是:我可以看到发布到flask服务器的数据,但当我尝试从flask服务器获取结果时,数据会变为null 以下是前端QuestionForm.js中的handleSubmit方法: //将数据发布到烧瓶 轴心柱http://localhost:5000/api/newquestion",本州) 。然后(响应=>{ console.log(响应

我在前端有一个react表单,用户可以提交他们想问的问题。将表单数据发送到flask服务器,使用一些NLP模型进行计算并获得结果。然后将结果返回到前端

问题是:我可以看到发布到flask服务器的数据,但当我尝试从flask服务器获取结果时,数据会变为null

以下是前端QuestionForm.js中的handleSubmit方法:

//将数据发布到烧瓶
轴心柱http://localhost:5000/api/newquestion",本州)
。然后(响应=>{
console.log(响应)
})
.catch(错误=>{
console.log(错误)

})
由于策略原因,您没有收到服务器响应。简而言之,默认情况下,浏览器不允许对任何与页面具有不同端口、协议或域的地址发出ajax请求,除非服务器允许,通过添加特定的响应头

在您的情况下,意味着您的react应用程序无法与运行在不同端口上的flask服务器通信,但您可以对flask配置进行一些更改,以允许跨源请求。有一些软件包可供选择,例如

const-config={
标题:{'Access-Control-Allow-Origin':'*'}
};
轴心柱http://localhost:5000/api/newquestion,this.state,config)
。然后(响应=>{
console.log(响应)
this.setState({questionResult:response.data,isLoaded:true})
})
.catch(错误=>{
console.log(错误)

})
检查API上的日志。您可能需要CORS的其他配置:查看这两个问题的答案。我确实在flask上启用了CORS,并且我已经更新了上面的代码。在这之后,控制台中会显示什么?您还可以查看浏览器的开发人员工具,以检查页面向服务器发出的网络请求。{data:null,status:200,statusText:“OK”,headers:{…},config:{…},…}config:{url:,method:“post”,headers:{…},transformRequest:Array(1),transformResponse:Array(1),…}数据:null headers:{content type:“application/json”}请求:XMLHttpRequest{onreadystatechange:ƒ,readyState:4,超时:0,带凭据:false,上载:XMLHttpRequestUpload,…}状态:200 statusText:“确定”“proto:object这发生在
componentDidMount
上?”?您的API现在只返回输入,我在POST请求中没有看到任何其他输入:我认为前端正在尝试在发布数据之前获取结果,这就是为什么我得到null,但我仍然不知道如何修复它。