我有一个文本区域:
<textarea cols="20" id="testtextbox" name="testtextbox" rows="2">test</textarea>
然后我通过构建FormData对象将其发布:
var newForm = $('<form></form>').append($("#testtextbox"))
var formdata = new FormData(newForm.get(0));
var xhr = new XMLHttpRequest();
xhr.open('POST', '/', true);
xhr.send(formdata);
我希望它能发布该文本区域的值,该文本区域可在Chrome和Firefox上运行。 但是,在Edge 42.17134上,POSTed请求正文为:
-----------------------------7e2203930476
Content-Disposition: form-data; name="testtextbox"
-----------------------------7e2203930476--
这在Edge的早期版本中也可以正常使用。 难道我做错了什么?据我所知,我不依赖任何不推荐使用的功能。
答案 0 :(得分:0)
根据您的描述和代码,建议您像以下两种方法一样检查the official API about formdata并修改代码。
1。使用formdata.append附加值
<textarea cols="20" id="testtextbox" name="testtextbox" rows="2">test</textarea>
<script type="text/javascript">
var formdata = new FormData();
formdata.append("testtextbox", testtextbox.value);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/', true);
xhr.send(formdata);
</script>
2。将表单添加到页面正文
<form id="form1" name="form1">
<textarea cols="20" id="testtextbox" name="testtextbox" rows="2">test</textarea>
</form>
<script type="text/javascript">
$(function () {
var newForm = $("#form1");
var formdata = new FormData(newForm.get(0));
var xhr = new XMLHttpRequest();
xhr.open('POST', '/', true);
xhr.send(formdata);
})
</script>
最好的问候,
珍妮弗