代码都部署在服务器上。如下代码中是用户登录功能的实现
<script>
function login() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://xxx.xx.xxx.xx:xx/html/html/login/getVerify.js', true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
alert(xhr.responseText);
var data = JSON.parse(xhr.responseText);
flag = false
for (var i = 0; i < data.length; i++) {
if (data[i].username === username && data[i].password === password) {
flag = true
break;
}
}
if (flag) {
alert('登陆成功!')
window.location.href = 'index.html';
} else {
alert('用户名或密码错误,请重试!')
}
}
};
xhr.send();
}
function register(){
window.location.href='register.html'
// window.location.href='login.html'
}
</script>
其中getVerify.js文件内包含下述代码,我想要通过调用到login来实现登录,
```javascript
app.get('/login', (req, res) => {
const sql = 'SELECT * FROM username_password';
console.log(sql)
connection.query(sql, (error, results, fields) => {
if (error) {
res.status(500).send(error);
return;
}
res.json(results);
});
});
目前错误出现在第一段代码的 var data = JSON.parse(xhr.responseText);这里,我通过alert打印输出发现返回的是整个getVerify.js文件,而不是数据库中的用户名密码json格式。这些代码在本地是运行正常的,,然后我把ip地址换成服务器地址放到服务器上就出现了问题,
感觉错误是在xhr.open('GET', 'http://地址/html/html/login/getVerify.js', true);这里没有请求/login路由,但是不知道怎么改