flask 怎么接收从前端直接 POST 传过来的字符串 xhr.send('string') ?

2019-11-22 15:02:31 +08:00
 miniyao

看了 MDN 的规范,前端可用直接异步 POST 字符串到后端 // xhr.send('string');

var xhr = new XMLHttpRequest();
xhr.open("POST", '/server', true);

//发送合适的请求头信息
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr.onload = function () { 
    // 请求结束后,在此处写处理代码 
};
xhr.send("foo=bar&lorem=ipsum"); 
// xhr.send('string'); 
// xhr.send(new Blob()); 
// xhr.send(new Int8Array()); 
// xhr.send({ form: 'data' }); 
// xhr.send(document);

这种纯字符串,不是字典、也不是 json,后端用 flask 的 request 怎么接收呢?

3985 次点击
所在节点    Python
4 条回复
mink
2019-11-22 15:17:44 +08:00
request.data , 可以使用 dir(request) 之后把所有关于数据获取的全部打印一遍就知道了
miniyao
2019-11-22 15:47:56 +08:00
@mink 找了下,差不多,貌似是 request.get_data()
locoz
2019-11-22 16:25:33 +08:00
就是纯字符串的 body 嘛,直接读 data 就行。这种情况我一般是本地用 pycharm 起个 debug 模式,然后断点断下来,再发个请求过来,然后就能直接看是哪一项了,文档都不用看。
Latin
2019-11-22 17:09:13 +08:00
这是标准的 formdata 直接 dict(request.form)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/622137

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX