我问我的代码是否正确。我试图从POST登录api获取访问权限。它应该有来自Website API的响应。我的问题在于获取功能。它不会将数据发布到API。它说电子邮件和密码是必需的
function submitInfo(){
let form = document.forms["myForm"];
let fd = new FormData(form);
let data = {};
for (let [key, prop] of fd) {
data[key] = prop;
}
VALUE = JSON.stringify(data, null, 2);
console.log(VALUE);
fetch('http://example_website/api/login', {
method: 'POST',
body: VALUE
})
.then(data => data.json())
.then(data => { console.log(data) })
.catch((err) => {
console.error(err);
})
}

<body>
<form id="myForm" name="myForm">
<div>
<input type="text" id="email" name="email" value="example@gmail.com">
</div>
<div>
<input type="password" id="password" name="password" value="123">
</div>
<input type="button" value="Submit!" onclick="submitInfo();">
</form>
</body>
&#13;
答案 0 :(得分:0)
您尚未在fetch()函数中添加右括号。你有提取(
答案 1 :(得分:0)
知道了。只需输入const myHeaders = new Headers(); myHeaders.append('Content-Type','application / json');
AND
const myHeaders = new Headers(); myHeaders.append('Content-Type','application / json');
function submitInfo(){
let form = document.forms["myForm"];
let fd = new FormData(form);
let data = {};
for (let [key, prop] of fd) {
data[key] = prop;
}
VALUE = JSON.stringify(data, null, 2);
console.log(VALUE);
const myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
fetch('http://example_website/api/login', {
method: 'POST',
headers: myHeaders,
mode: 'cors',
cache: 'default',
body: VALUE
})
.then(data => data.json())
.then(data => { console.log(data) })
.catch((err) => {
console.error(err);
})
}
<form id="myForm" name="myForm" method="POST">
<div>
<input type="text" id="email" name="email" value="example@gmail.com">
</div>
<div>
<input type="password" id="password" name="password" value="123">
</div>
<input type="button" value="Submit!" onclick="submitInfo();">
</form>