Javascript 正在将FormData发送到节点服务器-无法以x-www-form-urlencoded格式获取它
我试图从表单发送数据,将其发送到服务器,然后服务器将向外部API发出请求。服务器检索到该数据后,服务器会将其发送到浏览器进行操作和显示。我调用的RESTAPI要求数据采用x-www-form-urlencoded格式。但是,表单一直以多部分/表单数据格式发送 根据我所阅读的内容,我无法使用HTML表单发送数据,因为我正在从服务器请求返回数据,并且需要能够处理响应 HTML:Javascript 正在将FormData发送到节点服务器-无法以x-www-form-urlencoded格式获取它,javascript,Javascript,我试图从表单发送数据,将其发送到服务器,然后服务器将向外部API发出请求。服务器检索到该数据后,服务器会将其发送到浏览器进行操作和显示。我调用的RESTAPI要求数据采用x-www-form-urlencoded格式。但是,表单一直以多部分/表单数据格式发送 根据我所阅读的内容,我无法使用HTML表单发送数据,因为我正在从服务器请求返回数据,并且需要能够处理响应 HTML: 有人知道问题是什么吗?当我使用Postman和x-www-form-urlencoded格式时,一切都很完美 基于所使用的
有人知道问题是什么吗?当我使用Postman和x-www-form-urlencoded格式时,一切都很完美 基于所使用的序列化程序将由主体的类型定义
FormData
->multipart/form data
和URLSearchParams
->application/x-www-form-urlcoded
尝试var data=new URLSearchParams(form)
<form id="myForm" action="/" method="POST" enctype="application/x-www-form-urlencoded">
<input type="text" placeholder="URL to parse" name="url"></input>
<input type="submit" value="Submit"></input>
</form>
const form = document.forms['myForm'];
form.addEventListener('submit', event => {
event.preventDefault();
var data = new FormData(form),
thisMethod = form.getAttribute('method'),
thisAction = form.getAttribute('action'),
url = data.get('url');
data.append('url', url);
fetch(thisAction, {
method: thisMethod,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: data
}).then(res => console.log(res)).catch(e => console.log(e));
});