当前位置:  开发笔记 > 编程语言 > 正文

elixir plug:从post请求中获取表单数据的正确方法

如何解决《elixirplug:从post请求中获取表单数据的正确方法》经验,为你挑选了1个好方法。

我正在玩插头路由器并试图在我的路由器中读取一个简单的帖子请求的正文:

表格

我的路由器

post("/create_item") do
  {:ok, data, _conn} = read_body(conn)
  send_resp(conn, 200, data)
end

如果我提交我的表单,这将呈现name=input-value给页面,但然后我将不得不解析该字符串以获取值.这有点冒犯它的错误方法.

从我对elixir的小经验来看,似乎我应该做一些类似于模式匹配的东西从我的表单中read_body(conn)拉出每个key: value,但我在插件文档中找不到任何关于它的东西.我试图通过凤凰源寻找想法,但这有点超出了我的灵丹妙药的知识.有一个parse_form_data/1我缺少的明显功能吗?



1> whatyouhide..:

Plug.Conn.read_body/1只需读取请求的主体,而无需解析它.要解析正文,通常需要使用Plug.Parsers插件,该插件根据其内容类型读取和解析请求的正文.

例如,如果您像这样插入:

plug Plug.Parsers, parsers: [:urlencoded]

在管道中的任何地方都conn.params可以使用.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有