gpt4 book ai didi

javascript - FormData 构造函数在 Edge 中丢失文本区域值

转载 作者:行者123 更新时间:2023-11-30 20:07:33 24 4
gpt4 key购买 nike

我有一个文本区域:

<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);

JSFiddle here

我希望这会发布在 Chrome 和 Firefox 上工作的那个文本区域的值。但是,在 Edge 42.17134 上,POSTed 请求正文是:

-----------------------------7e2203930476
Content-Disposition: form-data; name="testtextbox"


-----------------------------7e2203930476--

这在以前版本的 Edge 中也能正常工作。难道我做错了什么?据我所知,我不依赖于任何已弃用的功能。

最佳答案

根据你的描述和代码,建议你查看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>

结果:the first way

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>

结果:the second way

最好的问候,

珍妮佛

关于javascript - FormData 构造函数在 Edge 中丢失文本区域值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52736814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com