如何在Angularjs 2.0中使用基本身份验证调用REST服务?

Cha*_*van 5 basic-authentication angular

我在Angularjs 1.3中有java REST服务和消费者.服务是基于JSON的,并且期望BASIC身份验证(用户名密码).在AgJs 1.3中,我使用Base64工厂代码(在谷歌上找到)从用户名和密码创建基本身份验证令牌,并能够使用服务SUCCESSFULLY.

我在AgJs 2.0文档中读取了HTTP类,但是我没有找到有关基本身份验证的任何信息.

有人可以提供示例代码来使用BASIC身份验证在Angularjs 2.0中使用REST服务吗?

提前致谢!

最好的祝福!

我的AgJs 1.3代码:

var url =" http:// xxxx:xxxx/data / "+ number;

$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode('username' + ':' + 'password');
$http.defaults.headers.common['Content-Type'] = 'application/json';

$http({ method: 'GET', url: url }).
        success(function (data, status, headers, config) {
           alert(data);
        }).
        error(function (data, status, headers, config) {
            alert("error: " + data);
        });
Run Code Online (Sandbox Code Playgroud)

Har*_*yte 0

取决于您是否使用新的 Angular2 httpapi,或者诸如fetch.

如果后者你可以做这样的事情,只需记住用区域包装:

myHeaders = {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'Authorization': 'Basic ' + Base64.encode('username' + ':' + 'password')
    }
return Zone.bindPromiseFn(fetch)(
            url,
            {
                method: 'GET',
                headers: myHeaders,
                body: JSON.stringify(myData)
            }).then(
                r => {return r.json()}
        );
Run Code Online (Sandbox Code Playgroud)