在Angular 4中使用Base64编码

时间:2017-08-27 10:39:11

标签: angular encoding module base64

我想使用Base64编码将用户名和密码发送到服务器。

我发现我可以使用npm导入以下模块:

    import 'angular-base64/angular-base64'; 

我已经确认在我的项目foler中创建了以下文件夹:node_modules \ angular-base64

在我的component.js文件中,我尝试使用以下任何一行来导入组件:

    headers.append('Authorization', 'Basic ' + base64.encode('username:temppass'));

它不会抱怨导入,但是当我尝试使用以下行时:

<div class="col-lg-4 col-md-4 form-group">
    {!! Form::label('subcategories', trans('art-work.subcategory'), ['class' => 'control-label']) !!}
    {!! Form::select('subcategories[]', $subcategories, $_subcategories,
        [
            'id' => 'subcategories',
            'class' => 'form-control select2',
            'multiple' => 'multiple',
            'data-placeholder' => trans('crud.choose'),
    ]) !!}
</div>
....
{{ Log::info('subcategories', $_subcategories) }}

它说“找不到base64 ”。

1 个答案:

答案 0 :(得分:19)

为此,您并不需要外部库。

  

WindowOrWorkerGlobalScope.btoa()方法创建base-64编码   来自String对象的ASCII字符串,其中每个字符都在   string被视为二进制数据的字节。

使用btoa()功能进行编码:

console.log(btoa("username:temppass")); // dXNlcm5hbWU6dGVtcHBhc3M=

要解码,您可以使用atob()功能:

console.log(atob("dXNlcm5hbWU6dGVtcHBhc3M=")); // username:temppass

查看支持的浏览器列表here