Flask 框架,项目是前后分离。 请求为fetch,后端post拿不到数据;
具体症状:
1. get可以获取,post请求发出后请求被挂起,页面没有响应;
2. 只要后端代码出现request.form就会出现被挂起
3. 搜索网上和segmentfault的写法,均无效;
4. 请求是
POST
Formdata
username: 'aaa'
password: '11221212'
后端代码
@app.route('/blog/login', methods=['post'])
def login():
try:
print(334,request.method, request.form.get('username'))
except:
print(11111)
return '123'
错误信息
Traceback (most recent call last):
File "/Users/zhongwangsheng/Developer/PyProject/family/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 270, in run_wsgi
execute(self.server.app)
File "/Users/zhongwangsheng/Developer/PyProject/family/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 261, in execute
write(data)
File "/Users/zhongwangsheng/Developer/PyProject/family/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 236, in write
self.send_header('Server', self.version_string())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 401, in send_header
self.wfile.write("%s: %s\r\n" % (keyword, value))
IOError: [Errno 32] Broken pipe
以下为修改后的登录代码,还是一样的错误“请求被挂起,没反应,约1分钟后失败error”
@app.route('/blog/login', methods=['post'])
def login():
try:
print(111, request.data)
print(222, request.form)
except:
print(333)
return 1234
以下是用fetch发送的请求信息
Request URL:http://localhost:8084/blog/login
Referrer Policy:no-referrer-when-downgrade
Provisional headers are shown
Authorization:
Content-Type:application/x-www-form-urlencoded
Origin:http://localhost:8084
Referer:http://localhost:8084/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36 OPR/51.0.2830.55 (Edition Baidu)
Form Data
password:123456
username:zws
测试正常
如果其它地方正常,估计你没有写这个