Javascript 使用angular js和$http请求登录不起作用
我想使用Javascript 使用angular js和$http请求登录不起作用,javascript,angularjs,rest,ionic-framework,httprequest,Javascript,Angularjs,Rest,Ionic Framework,Httprequest,我想使用restweb服务的$http和GET登录。我正在做的是: 使用$http.get根据用户名和密码获取数据 存储结果:$scope.getResult=res 将其存储在某个变量中: var result=$scope.getResult; var username=result.username var password=result.password var user=this.user; var pass=this.pass 之后,我将与用户名和密码的ng模型进行比较。如果成功,它
restweb服务的$http
和GET
登录。我正在做的是:
使用$http.get根据用户名和密码获取数据
存储结果:$scope.getResult=res代码>
将其存储在某个变量中:
var result=$scope.getResult;
var username=result.username
var password=result.password
var user=this.user;
var pass=this.pass
之后,我将与用户名和密码的ng模型进行比较。如果成功,它将重定向到另一个页面,如下所示:
如果(用户名==用户和密码==通过)
{
window.location=“/next.html”
}
下面是我的完整代码,请建议在我的情况下所需的更改
$scope.login = function () {
var user = this.user ; // ng-model of username in html page
var pass = this.pass; //ng-model of password in html page
$http.get("http://localhost:17681/api/userRegisters"+user+pass).success(function (res) {
$scope.getResult = res;
var result = $scope.getResult;
var username = result.userName;
var password = result.password;
if (username == user && password == pass) {
window.location="/next.html";
}
}
}
请告诉我,我应该如何更改代码才能做到这一点
提前感谢:)“+username+”和password=“+password
并使用GET-HTTP方法从该位置读取用户名和密码用AngularJS$location
服务替换原始的窗口.location
方法。从$q
服务实现处理程序内部调用window.location
,通常会导致AngularJS内部错误
$http.get("http://localhost:17681/api/userRegisters"+user+pass)
.then(function onFulfilled(response) {
$scope.getResult = response.data;
var result = $scope.getResult;
var username = result.userName;
var password = result.password;
if (username == user && password == pass) {
//Use this
$location.path("/next.html");
//Not this
//window.location="/next.html";
}
}).catch ( function onRejected(response) {
console.log(response.status);
});
有关详细信息,请参阅
弃用通知书
$http
旧承诺方法.success
和.error
已被弃用。使用标准的。然后改用方法
调试响应
它通过response.data提供记录,但不提供列记录。为了获取数据,应该做些什么
服务器端API的规范是什么
生成响应数据的服务器端代码是什么
这些是读者需要知道的,以便帮助你。否则,任何答案都只是猜测
行业最佳实践是避免将密码作为URL的参数发送,因为这样会出现安全问题
AngularJS团队推荐的两种资源:
额外资源
您的url将是”http://localhost:17681/api/userRegistersusernamepassword“
,输入一些斜杠。您可以记录user和pass的值,看看user和pass是否确实存在。另外,您正在使用url发送一个包含user和pass的字符串,即/userRegistersapplepassword。我不认为你的api会这样。对不起,我是angularjs的新手,我不知道如何在http url中放置过滤器来比较数据库中的用户名和输入的用户名,尤其是在发送表单时,使用密码,你应该用$http.post
请求发送它们,而不是用getthank you@devqon发送,但我无法找到你。可以在我可以研究的地方发布一些例子或链接吗?这将是非常有帮助的。我会推荐一个帖子,然后将数据发送到正文中。在urlNiyaz中输入密码的错误做法感谢您的回复,但此脚本显示了整个数据库,而不仅仅是给定的用户名。是的,我同意这篇文章,因为它包含pssword,我认为url不存在。。。调用ajax$http.get(((err){console.log(err);})时的错误说明;非常感谢@georgeawg sir:)但是当我提醒username和password变量时,它不会显示Db表中的username和password记录。它通过response.data提供记录,但不会提供列记录。为了获取数据,应该做些什么?添加了关于调试响应的部分。并添加了用于验证的资源链接N