如何解决获取 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 举报,一经查实,本站将立刻删除。