什么导致多部分/表单数据形式POST停止发送表单数据?

时间:2018-04-02 17:52:14

标签: post html-form multipart

我使用this excellent answer和netcat来查看提交表单时会发生什么。这个例子效果很好,但是,就我自己而言,有些东西阻止了我的所有表单数据的传递。在我的前六个输入完成后,其他一切都停止了。我想知道,是什么导致表单似乎随机停止发送数据中途?

如果重要的话,表单确实有一些textarea输入和一个不会被发送的多文件输入,但是也有一些常见的复选框没有通过,有些也没有。

Netcat输出:

POST / HTTP/1.1
Host: localhost:8000
Connection: keep-alive
Content-Length: 890
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
Origin: null
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryAyNkJk1235KNtl3
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/536.55 (KHTML, like Gecko) Chrome/65.0.3326.184 Safari/536.55
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

... (List is shortened)

------WebKitFormBoundaryAyNkJk1235KNtl3
Content-Disposition: form-data; name="someData"

false
------WebKitFormBoundaryAyNkJk1235KNtl3
Content-Disposition: form-data; name="someMoreData"

true
------WebKitFormBoundaryAyNkJk1235KNtl3--

有些东西没有通过POST:

...
<label>High Priority <input type="checkbox" id="priorityCheckbox" name='priority'></label>

<textarea id='instructions' name='instructions'></textarea>

<h3>Attach files:</h3>
<input type="file" id="fileUpload" name="file" multiple />  

<button type="submit" form="requestForm" class='btnSuccess' id="btnSubmit">Submit</button>
</form>

1 个答案:

答案 0 :(得分:0)

原来我的<form>错误地跨越了div,例如:

<div> <form> </div> </form>

包含开头div元素的结束form之后的任何内容都在POST中丢失。