是什么导致 multipart/form-data 表单 POST 停止发送表单数据?
What is causing multipart/form-data form POST to stop sending form data?
我已经使用 this excellent answer 和 netcat 来查看提交表单时发生了什么。该示例效果很好,但是,在我自己的表单上,某些东西阻止了我所有的表单数据通过。在我的前六个输入通过后,其他一切都停止了。我想知道,是什么导致表单似乎随机停止中途发送数据?
如果重要的话,表单确实有一些文本区域输入和一个未发送的多文件输入,但也有一些常规复选框没有通过,有些通过了。
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>
原来我的 <form>
错误地跨越了 div,例如:
<div>
<form>
</div>
</form>
包含开始 form
元素的结束 div
之后的任何内容都在 POST 中丢失。
我已经使用 this excellent answer 和 netcat 来查看提交表单时发生了什么。该示例效果很好,但是,在我自己的表单上,某些东西阻止了我所有的表单数据通过。在我的前六个输入通过后,其他一切都停止了。我想知道,是什么导致表单似乎随机停止中途发送数据?
如果重要的话,表单确实有一些文本区域输入和一个未发送的多文件输入,但也有一些常规复选框没有通过,有些通过了。
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>
原来我的 <form>
错误地跨越了 div,例如:
<div>
<form>
</div>
</form>
包含开始 form
元素的结束 div
之后的任何内容都在 POST 中丢失。