【问题标题】:AngularJS $resource request, withCredentials with username and passwordAngularJS $resource 请求,带有用户名和密码的凭据
【发布时间】:2014-08-13 02:59:24
【问题描述】:

我正在尝试做一个小应用程序,它应该从具有基本 http 身份验证的主页获取 json 数据。

这是我的服务:

app.factory('MySrvs', ['$resource', function ($resource) {

    return $resource("http://address/to/json/document");

}]);

这是我的控制器:

app.controller('MyCtrl', ['$scope', 'MySrcvs', 'Base64',
function($scope, MySrvs, Base64) 
var stuff =  MySrvs.query(function(data){
   console.log(data)
   $scope.mylist = data;
});

这适用于我没有身份验证的镜像页面。

但是,生产应该转到需要withCredentials:true 和用户名和密码设置的页面。这个应该加在哪里?我可以使用 Base64 编码器。

感谢任何帮助。

【问题讨论】:

    标签: angularjs rest http ngresource


    【解决方案1】:

    $resource 配置对象与 $http 配置对象非常相似(有几个 变化)。 对象的值,动作,就是资源对象上的方法名

    例如

    angular.module('myApp', ['ngResource'])
        .factory('UserService', [
            '$resource', function($resource) {
                return $resource('/api/users/:id', {
                    id: '@'
                }, {
                    query: {
                        method: 'PUT', // or something else 
                        headers:{'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='} 
                    }
                });
            }]);
    

    【讨论】:

    • 这不是我要找的,我正在寻找如何使用 $resource 进行查询。方法应该是什么?得到?我应该把凭证放在哪里?用户名和密码?
    • 方法取决于你的API
    • 它是一个使用基本的简单 http 身份验证。例如,我想将其添加到标题中:'Authorization: Basic aHR0cHdhdGNoOmY='
    • 我已经更新了示例,我希望它可以工作,如果没有,请尝试 {'Authorization Basic': 'QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}
    • 谢谢,看起来像 chrome 中的一个错误。在 Firefox 中工作。
    猜你喜欢
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 2021-03-10
    • 2019-08-14
    • 2016-11-13
    • 1970-01-01
    • 2015-08-31
    • 2018-05-01
    相关资源
    最近更新 更多