gpt4 book ai didi

javascript - 带参数的angularjs $http.post

转载 作者:行者123 更新时间:2023-11-29 16:09:11 25 4
gpt4 key购买 nike

我是 Angular 的新手,如果我的问题有点低级,请不要生我的气。

如果用户将通过身份验证,我有返回 sessionId 和登录成功消息的网络服务。例如 url 是:

http://localhost:8181/login?username=USERNAME&password=12345

这是我的回应:

{"sessionId":"0997cec2a8b34c84ba8419ab1204e6aa","loginSucceeded":true}

这是我的登录 Controller :

app.controller('loginCtrl', function($scope, loginService){
$scope.login=function(user){
loginService.login(user);
}
});

这是我的服务:

app.factory('loginService', function($http){
return{
login: function(user){
var $promise=$http.post('http://localhost:8181/login?', user);
$promise.then(function(msg){
if(msg.loginSucceeded=="true")
console.log("opa")
else
console.log("den");
});
}
}
});

我的范围内有 user.username 和 user.password(使用文本框)。

如何在 url 中传递这些参数以及如何解析该响应?

最佳答案

在您的代码中,您在 POST 请求的 URL 中传递用户名和密码。如果那是您真正想要的(将它们作为 POST 数据传递更常见),那么您可以使用它:

login: function(user){
var url = 'http://localhost:8181/login?username=' + user.name + '&password=' + user.password;
$http.post(url).then(function(msg){
if(msg.loginSucceeded==="true"){
console.log("opa")
}else{
console.log("den");
}
});
}

如果您想将数据作为 POST 数据传递,您可以将其作为 $http.post() 调用中的第二个参数传递:

login: function(user){
var url = 'http://localhost:8181/login';
var data = {username: user.name, password: user.password};
$http.post(url, data).then(function(msg){
if(msg.loginSucceeded==="true"){
console.log("opa")
}else{
console.log("den");
}
});
};

关于javascript - 带参数的angularjs $http.post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com