我使用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>
答案 0 :(得分:0)
原来我的<form>
错误地跨越了div,例如:
<div>
<form>
</div>
</form>
包含开头div
元素的结束form
之后的任何内容都在POST中丢失。