我在问我的代码是否正确。我正在尝试从登录后api获取访问权限。它应该有一个来自网站API的响应。我的问题是在Fetch函数上。它不会将数据发布到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>
发布于 2017-07-28 21:12:38
明白了。只需放入const myHeaders = new Headers();myHeaders.append(‘内容类型’,‘应用程序/json’);
和
const myHeaders =新报头();myHeaders.append(‘内容类型’,‘应用程序/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>
发布于 2017-07-28 11:50:07
您还没有在fetch()函数中添加右括号。你有fetch(
https://stackoverflow.com/questions/45364455
复制相似问题