我正在尝试从表单发送数据,将其发送到服务器,然后服务器将向外部API发出请求。服务器检索到该数据后,服务器会将其发送到浏览器进行操作和显示。我正在调用的REST API要求数据采用x-www-form-urlencoded格式。但是,表单会以多部分/表单数据格式发送。
从我读过的内容来看,我无法使用HTML表单发送数据,因为我从服务器请求数据并且需要能够处理响应。
HTML:
<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>
客户端JS:
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));
});
任何人都知道问题是什么?当我使用Postman并使用x-www-form-urlencoded格式时,一切都很完美。