【发布时间】:2015-06-10 20:39:27
【问题描述】:
这是个愚蠢的问题。我像这样从 Angular 调用休息服务:
UserService.GetByUsername(username)
.then(function (user) {
if (user !== null && user.password === password) {
response = { success: true };
...
我可以从调试器中看到,确实有一个来自 DB 的具有适当值的用户对象:
{
firstName: "Suba",
lastName: "Superi",
lastUpdated: "2015-06-02T18:14:56+03:00",
nickName: "",
password: "super",
userId: 2,
username: "super"
}
问题
为什么这个 (user.password) 未定义:if (user !== null && user.password === password)。我的符号中有什么东西吗,或者我如何检查数据库中的密码是否与用户在表单中输入的密码相同?我如何从休息返回的 JSON 中获取该密码,可能是 json 解析?我刚刚启动 AngularJS 并实现身份验证和登录,所以即使密码是纯文本等也不要打扰 :) 这让我很烦。用户是一个对象,我认为这是原因,因为我假设它是用户的类型?
【问题讨论】:
-
你确定
user.password是undefined吗?如果有的话password将是undefined。我看不到password的定义位置。 -
也发布您的服务代码。
-
密码来自表单,用户来自数据库。我用 chrome 调试器检查了它,用户不是 null 并且有正确的对象,但是 user.password 仍然是未定义的整体,密码也得到了正确的值。
-
你在某处犯了一个(可能很小的)错误。您没有提供足够的信息来提供帮助。
-
也感谢@Andy Gaskell 帮助我。这是一个非常小而愚蠢的错误,基本上只是因为将响应命名为用户,这让我感到困惑。 user.data.password 或 response.data.password
标签: javascript json angularjs rest