在Flask中使用ajax的POST方法传递数组

js代码如下:

var list = [1,2];
$.post("/server",{"list": list}).done(function(data){    
      ...
}).fail(function(){   
      ...
});

如果在服务器端使用flask中的request.form.get方法是无法获取到数据的,因为我们传递的是数组,而不是单个元素。 怎么办? flask还提供了另外一个方法request.form.getlist

@app.route("/server",methods=["POST"])
def server(){
    list = request.form.getlist("list")
}

但是这样做得到的结果却是为空,这时咋回事,直接查看request.form对象。结果却是这么个鬼:

ImmutableMultiDict([('applications[]', u'1'), ('applications[]', u'2')])

现在知道咋回事了,只需要将list改成list[]就可以了,也就是

@app.route("/server",methods=["POST"])
def server(){
    list = request.form.getlist("list[]")
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

Python 3.7:数据类的介绍

Python3.7预计在今年夏天发布,让我们一起偷瞄一眼它带来的新功能吧!如果你经常一个人在家用Pycharm撸代码,请确保将你的Pycharm...

17720
来自专栏后端技术探索

什么是堆和栈,它们在哪儿?

编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是...

11420
来自专栏PPV课数据科学社区

适用于 PHP 开发人员的 Python 基础知识

您是一名 PHP 开发人员。您在过去 五年(或更长时间)中可能一直都编写应用程序,您已经将许多想像变成了可能 — 电子商务系统、简单内容管理系统、Twitte...

412150
来自专栏玉树芝兰

如何让Jupyter Notebook支持多种编程语言?

不满意Jupyter Notebook只有Python 2环境,还打算让它支持Python 3与R?没问题,本文一步步帮助你实现这个愿望。

23610
来自专栏嵌入式程序猿

教你MODBUS程序符合MISRA规则

做嵌入式开发的广大工程师应该对MISRA C不陌生,他是Motor Industry Software Reliability Association 的缩写,...

16730
来自专栏韩伟的专栏

反射,框架的利器

通用型软件框架的难题 假设我们希望开发一套通用型的软件框架,这个框架允许用户自定义大量不同的情况下的回调函数(方法),用来实现丰富多彩的业务逻辑功能,例如一个...

432100
来自专栏QQ空间开发团队的专栏

一个 ClassLoader 引起的 JNI 链接错误

Android 插件化工程具有减少方法数和包大小,易于扩展等优势,深得大型工程的青睐,但同时插件化也会引起一些意想不到的麻烦。我们最近在做的插件工程就遇到了一个...

67300
来自专栏向治洪

一个ClassLoader引起的JNI链接错误

前言 Android插件化工程具有减少方法数和包大小,易于扩展等优势,深得大型工程的青睐,但同时插件化也会引起一些意想不到的麻烦。我们最近在做的插件工程就遇到了...

271110
来自专栏向治洪

Android热修复技术总结

插件化和热修复技术是Android开发中比较高级的知识点,是中级开发人员通向高级开发中必须掌握的技能,插件化的知识可以查我我之前的介绍:Android插件化。本...

39270
来自专栏北京马哥教育

原来 Python 还有这些实用的功能和特点!

在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Pytho...

13820

扫码关注云+社区

领取腾讯云代金券