Javascript如果else语句不能使用JSON

时间:2016-04-20 10:20:05

标签: javascript jquery json api rest

我有以下代码。所以基本上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>  

2 个答案:

答案 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();
    }
});
}