javascript - 带参数的angularjs $http.post

标签 javascript angularjs

我是 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/

相关文章:

javascript - 使用 javascript 的 .insertBefore 将项目作为最后一个 child 插入

javascript - 动态生成的 slider 将不起作用

用于验证逗号分隔字符串的 JavaScript 正则表达式

javascript - ES5 风格的连接数组。将数组合并为一个

angularjs - Angular 项目的 package.json 中的 jshintConfig

javascript - 当文本省略号应用于元素时如何使用工具提示?

angularjs - 如何使用 Passport Js 将 mongodb 用户迁移到 Couchdb?

javascript - 为什么我的日期选择器在 bootstrap 模式中得到修复。我在尝试添加几个 jquery 解决方案时遇到了困难,但对我没有用

javascript - 如何减少分组条形图 D3 v4 中条形之间的间距

javascript - Angularjs datepicker popup bootstrap-ui 在 View 中不起作用