ES6 API获取登录WebApp

时间:2017-07-28 03:36:48

标签: javascript ecmascript-6 es6-promise fetch-api

我问我的代码是否正确。我试图从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;
&#13;
&#13;

2 个答案:

答案 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>