求助...为什么服务器间的请求会提示跨域...
发布于 8 年前 作者 JerelLin 4557 次浏览 来自 问答

问大家一个问题,就是我现在nodejs服务器有一个接口,接受前端异步提交的图片base64字符还有富文本编辑器编辑的混合文本等数据,然后我想要我的nodejs接口做两件事,一件是把接收到的formdata数据当中图片下载下来并把图片替换为一个url,另一件事是把处理完的数据再异步发送给python服务器。 我使用了promise来分割这两个事务,第一件事做完之后再把处理好的数据传递给第二件事务执行后续请求。但是问题来了,这么处理的话浏览器会提示出现跨域超时,python服务器那里也提示请求重置,然后也接收不到nodejs层的数据。但是如果我把第二个事务去掉前端的数据能成功的被处理并可以在nodejs控制台打印出来,把第一个事务去掉,伪造出处理后的数据并执行第二个事务python服务器也能成功接收到我发的数据。其他接口和python的对接都是成功的,不会提示跨域。好奇怪,这是为什么呢?

这是我nodejs层的接口: BD74.tm.png 这是第一件事务对应的处理函数: untitled5.png 这是自己封装的post请求方法: 微信截图_20161015094632.png 这是浏览器的错误提示: 4172.tm.png 这是python层的错误: Traceback (most recent call last): File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 86, in run self.finish_response() File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 128, in finish_response self.write(data) File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 212, in write self.send_headers() File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 270, in send_headers self.send_preamble() File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 191, in send_preamble self._write(‘HTTP/%s %s\r\n’ % (self.http_version,self.status)) File “/usr/lib64/python2.7/wsgiref/handlers.py”, line 391, in _write self.stdout.write(data) File “/usr/lib64/python2.7/socket.py”, line 328, in write self.flush() File “/usr/lib64/python2.7/socket.py”, line 307, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [Errno 104] Connection reset by peer [15/Oct/2016 09:29:27] “POST /truelove/v1/cpp_admin/publish_activity HTTP/1.1” 500 59

  • Broken pipe from (‘192.168.1.103’, 59060)
回到顶部