嘿伙计们,目前我在使用Parse for Javascript时出现了一个小问题,我之前使用过Parse但是对于Android而言,由于某种原因发现它比使用Javascript更容易理解。
我当前的问题是我试图通过检查“角色”列中是否有1或2的整数来查询我的解析数据库中的User对象以查看它们是否是管理员。代表一个Admin,2代表一个普通用户。
如果我记得正确查询用户与查询数据库中的普通对象不同,那么我不确定为什么这个查询没有正确执行。如果我取出查询功能正常,并在警告框中显示设置的“欢迎”消息,但当我添加查询时,它似乎没有执行该功能。
我在数据库中的表如下所示:
我目前的代码如下:
$('.form-signin').on('submit', function(e) {
// Prevent Default Submit Event
e.preventDefault();
// Get data from the form and put them into variables
var data = $(this).serializeArray(),
username = data[0].value,
password = data[1].value;
// Call Parse Login function with those variables
Parse.User.logIn(username, password, {
// If the username and password matches
var query = new Parse.Query(Parse.User);
query.equalTo("role", 1); //finding the role number
query.find({
success: function(user) {
alert('Welcome!');
},
// If there is an error
error: function(user, error) {
console.log(error);
}
});
});
});
答案 0 :(得分:2)
logIn()
,因此无需额外查询即可查看该用户的属性。 Parse.User.current
是在成功登录后随时获取当前用户的另一种方式。
编辑 - 此代码登录用户并检查用户是否将角色设置为数字1:
Parse.User.logIn(username, password).then(function(user) {
var role = user.get("role");
if (role == 1) {
console.log("login success, role is 1");
} else {
console.log("login success, role is " + role);
}
}, function(error) {
// handle error
});