获取 SyntaxError:使用 JavaScript

问题描述

基本上,我正在尝试发送带有表单数据的发布请求以验证用户登录。数据已发送,但我无法获取实际的 JSON 对象来验证用户并转到下一个屏幕。

代码如下:

async function userLogin() {
    
    let form = document.forms["loginForm"];
    let fd = new FormData(form);
    let data = {};
    for (let [key,prop] of fd) {
      data[key] = prop;
    }

    VALUE = JSON.stringify(data,null,2);
    console.log("esto es: " + VALUE);

    const headers = new Headers();
    headers.append('Content-Type','application/json');
    headers.append('Accept','application/json');
    headers.append('Access-Control-Allow-Origin','*');
    const init = {
        method: 'POST',headers,mode: 'no-cors',cache: 'default',body: VALUE
    }
    var username = document.getElementById("loginInput").value;
    var password = document.getElementById("passwordInput").value;
    

    const url = `http://banaccess.do/api/method/login?usr=${username}&pwd=${password}`;

    fetch(url,init)
    .then(data => data.json())
    .then(data =>  { console.log("Data: " + data) }) 
    .catch((err) => {
        console.error(err);
    });


   console.log("URL enviada " + url);
   console.log("Usuario: " + username + "\nContraseña: " + password);
}
<!doctype html>
<html lang="es-DO">
  <head>
    <!-- required Meta tags -->
    <Meta charset="utf-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" 
    integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
    <!-- Main CSS -->
    <link href="../resources/css/main.css" rel="stylesheet">
    <!-- Login CSS -->
    <link href="../resources/css/loginScreen.css" rel="stylesheet">

    <title>Reporte de comisiones</title>
  </head>
  <body>
    <div class="wrapper fadeInDown">
        <div id="formContent">
          <!-- Tabs Titles -->
      
          <!-- Icon -->
          <div class="fadeIn first">
            <img src="../resources/images/logo.png" id="icon" alt="User Icon" />
          </div>
      
          <!-- Login Form -->
          <form id="loginForm" name="loginForm" method="POST">
            <input type="text" id="loginInput" class="fadeIn second" name="loginInput" placeholder="Usuario" autocomplete="off">
            <input type="password" id="passwordInput" class="fadeIn third" name="passwordInput" placeholder="Contraseña" autocomplete="off">
            <input type="button" class="fadeIn fourth" value="Iniciar Sesión" onclick="userLogin()">
          </form>
      
          <!-- Remind Passowrd -->
          <div id="formFooter">
            
          </div>
      
        </div>
      </div>

    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.4/dist/umd/popper.min.js" 
    integrity="sha384-q2kxQ16AaE6UbzuKqyBE9/u/KzioAlnx2maXQHiDX9d4/zp8Ok3f+M7DPm+Ib6IU" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.min.js" 
    integrity="sha384-pQQkAEnwaBkjpqZ8RU1fF1AKtTcHJwFl3pblpTlHXybJjHpMYo79HY3hIi4NKxyj" crossorigin="anonymous"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="../scripts/userLogin.js"></script>
  </body>
</html>

正如您所看到的,它实际上是在读取表单的输入数据并将其传递给 const url。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)