我有以下代码。所以基本上JavaScript需要查看用户名和密码,并通过API(可以工作)检查它并返回true或false。 True允许用户访问下一页并错误地重新加载登录页面。
除了JavaScript if语句外,一切都很完美。
我的代码如下:
var ApiKey = ''; //generated API Key
var userPass = document.getElementById('pass'); //gets the password
var userName = document.getElementById('usr'); //gets the username
function testAJAX(){
$.getJSON("http://mywebsitesapiaddress.com/api" + ApiKey +"&user="+ userName.value + "&pass=" + userPass.value, function(data) {
if (data.success == "true") {
window.location = "mainpage.html";
}
else {
location.reload();
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<input type="text" name="username" id="usr" placeholder="Enter your username">
<input type="password" name="password" id="pass" placeholder="Enter your password">
<button onclick="testAJAX()" id ="login">Login</button>
答案 0 :(得分:0)
您的代码看起来很好,但"click selected":function(e){
// this._id
var doc_id = $(e.currentTarget).parent().parent().attr("uid")
console.log(doc_id)
},
//specify the each id in the div above the nearest #each
//this will work in events but not in helpers`
属性值的类型除外。
可能是服务器没有返回字符串文字success
而是返回布尔值'true'
所以
true
答案 1 :(得分:0)
当JSON数据为true或false时。不能使用双引号。
感谢您的快速回复。原来问题是数据类型是冲突的,我将API响应更改为1和0,这似乎已经解决了问题。使用数字时更轻松,更灵活。
var ApiKey = ''; //generated API Key
var userPass = document.getElementById('pass'); //gets the password
var userName = document.getElementById('usr'); //gets the username
function testAJAX(){
$.getJSON("http://mywebsitesapiaddress.com/api" + ApiKey +"&user="+ userName.value + "&pass=" + userPass.value, function(data) {
if (data.success == 1) {
window.location = "mainpage.html";
}
else {
location.reload();
}
});
}