我正在尝试从Parse Customers类中检索两个字符串。我想将这些字符串(分别为usernameAdmin和passwordAdmin)与用户输入的输入字段进行比较,如果匹配则将它们带到特定页面。
我出于特殊原因采取这种方法,并希望得到反馈。
$scope.logIn = function(form) {
var Customer = Parse.Object.extend("Customers");
parseAdminUsername = Customer.get('usernameAdmin');
parseAdminPassword = Customer.get('passwordAdmin');
if (form.lusername == parseAdminUsername && form.lpassword == parseAdminPassword) {
window.location = 'adminSelect.php'
} else {
alert('error');
}
};
html代码如下所示:
<form role="form" ng-show="scenario == 'Sign up'">
<h4 id="wrongCredentials"></h4>
<input id="signupformItem" ng-model="user.lusername" type="email" name="email" placeholder="Email Address"> <br>
<input id="signupformItem" ng-model="user.lpassword" type="password" name="password" placeholder=" Password"> <br>
<br>
<button id="signupbuttonFinal" ng-click="logIn(user)" class="btn btn-danger"> Sign In</button>
</form>
我在控制台上收到以下错误:
undefined is not a function
at Object.$scope.logIn
以下是
行parseAdminUsername = Customer.get('usernameAdmin');
答案 0 :(得分:0)
最好在内置用户中使用Parse而不是创建单独的对象,然后使用Parse.User.logIn
。
如果你要使用你的桌子。 Customer.get('usernameAdmin')
用于在执行查询以返回记录后返回字段。您最好执行查找查询以检查用户名和密码,如下所示:
var Customer = Parse.Object.extend("Customers");
var query = new Parse.Query(Customer);
query.equalTo("usernameAdmin", form.lusername);
query.equalTo("passwordAdmin", form.lpassword);
query.find({
success: function(results) {
if (results.length > 0) {
window.location = 'adminSelect.php';
}
},
error: function(error) {
// The object was not retrieved successfully.
// error is a Parse.Error with an error code and message.
}
});
我建议不要使用window
而不是$ window,以便您可以对代码进行单元测试。更好的是使用角度路由并创建单页应用程序。