我用python写了个cgi脚本,是绘图的,需要从前端获取数据,但是js直接调python cgi服务,跨域,没有找到处理办法。
然后,选择了替代办法,用node的superagent实现,js发送数据给node,node接收在给python,下边是代码
app.post('/getdata',function(req,res){
var data = req.body;
// console.log(data);
// res.send({msg:'success'});
if(data){
superagent
.post('http://10.172.14.39:8000/cgi-bin/ft.py').send(data)
.end(function(req,res){
console.log(res);
console.log(req);
});
}
})
现在问题是node这边接收不到,python返回的值,打印res,req输出如下:
python端报错:
请问,是什么原因导致的,该如何解决,或者如何解决前端调python cgi服务跨域问题?
header
里面的token
是无效的。python
但原理都一样,收到OPTIONS
请求返回Access-Control-Allow-Origin/Methods/Headers
头并返回204
。详情可搜索python cors
。