【发布时间】:2019-01-27 03:50:13
【问题描述】:
我有一个捕获视频、照片、音频和文本数据的表单数据。这些字段的数量是动态的,因此我可以有多个视频、音频字段等,这会导致表单在提交时崩溃或变得太慢。我目前正在通过没有 ajax 的普通表单操作提交进行提交。
我想修改行为,这样我就可以一次提交一个请求的表单字段,然后我可以向客户端显示类似这样的进度。
Basic information has been saved.
Audio 1 uploaded.
Video 2 uploaded.
Video 3 currently uploading ...
Video 4 pending.
Audio 5 pending.
这是我运行form.serializeArray() 时表单数据的样子
0: {name: "utf8", value: "✓"}
1: {name: "authenticity_token", value: "token data here"}
2: {name: "data[name]", value: "a"}
3: {name: "response[100]", value: "data:video/webm;base64,...."}
4: {name: "response[101]", value: "text data here"}
5: {name: "privacy_policy", value: "1"}
现在我想为一个单独的 Ajax 表单请求截断这个数组,比如 ff:
请求 1 - 基本信息
0: {name: "utf8", value: "✓"}
1: {name: "authenticity_token", value: "token data here"}
2: {name: "data[name]", value: "a"}
请求 2 - 视频数据
0: {name: "utf8", value: "✓"}
1: {name: "authenticity_token", value: "token data here"}
2: {name: "response[100]", value: "data:video/webm;base64,...."}
请求 3 - 文本数据
0: {name: "utf8", value: "✓"}
1: {name: "authenticity_token", value: "token data here"}
2: {name: "response[101]", value: "text data here"}
现在我想知道javascript中是否有内置方法来实现这种切分数组的方式。就像是
basic_info = formdata.remove(name, 'response').
还是没有?我需要通过循环遍历这个数组来手动完成吗?
谢谢
【问题讨论】:
标签: javascript jquery ajax ruby-on-rails-5