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