elixir - Elixir/Phoenix - 控制器中的 HTML 表单解析
问题描述
我有一个 HTML 表单:
<form id="filtering-rule-form">
<input type="hidden" value="<%= @token %>" name="_csrf_token"/>
User name/email prefix:<br>
<input type="text" name="email-prefix" id="email-prefix">@railglorg.net<br>
Scanner<br>
<%= for scanner <- @scanners do %>
<input type="checkbox" id="<%= scanner.short_name %>" value="<%= scanner.short_name %>" name="scanner[]" /><%= scanner.scanner_name %> <br>
<% end %>
Subject<br>
<input type="text" name="subject" id="subject"><br>
Quarantine score threshold:<br>
<input type="text" name="quarantine-score" id="quarantine-score"><br>
Delete score threshold:<br>
<input type="text" name="delete-score" id="delete-score"><br>
Reject:<br>
<input type="radio" name="reject" value="reject" id="reject-reject" checked > Reject<br>
<input type="radio" name="reject" value="delete" id="reject-delete" > Delete<br>
<button type="button" id="filtering-rule-save-btn">Save</button>
</form>
来自它的数据通过 ajax 请求传输到控制器。
$('#filtering-rule-save-btn').click(function(){
$.ajax({
type: 'POST',
url: '/configuration/filtering_rule_save',
dataType: 'JSON',
headers: {'X-CSRF-Token': jQuery('input[name=_csrf_token]').val()},
data: {
filtering_rule_form_data: $("#filtering-rule-form").serialize()
},
success: function(response) {
alert(response.message);
},
error: function(response) {
alert('AJAX ERROR');
}
});
});
这样的字符串被传递给控制器。
_csrf_token=KnNgSz9UKy80eyFdNVoMAFEwDSw9GiE3EFRswlOkR9CiRk9mgWFhtVsp&email-prefix=test&scanner%5B%5D=ps&scanner%5B%5D=clamdscan&subject=test-subject&quarantine-score=5&delete-score=5&reject=reject
我在控制器中得到这条线。
def filtering_rule_save(conn, %{"filtering_rule_form_data" => filtering_rule_form_data}) do
#
end
我不知道如何正确解析控制器中的所有表单值。请注意,表单有一个 HTML 数组 (scanner[])。我将不胜感激。
解决方案
推荐阅读
- asp.net-core - 在 azure App Service asp.net core 中使用 smtp.gmail.com 发送邮件
- c# - C# - 如何根据用户控件加载事件启动代码
- django - 无法使用 Django 接收对我的 webhook 设置的 RSS 更新。重播选项发送空的 POST 和 GET 数据
- python - 'str' 对象在 Django 中不可调用
- loopbackjs - 将 id 数组作为文档的一部分时选择哪种关系类型
- excel - 使用 Power Query 将文本文件中的数据导入 Excel
- laravel - Laravel 动态多态关系
- javascript - 浏览器返回按钮点击事件
- j - 如何使用来自数学/lbfgs 的 lbfgs?
- discord - 在基于 php 的 Web 应用程序中插入语音聊天