2016-11-17 119 views
0

我通过要求在请求标头中携带授权令牌来保护我的api端点。服务器确保此令牌在每个端点上均存在且有效。对于来自客户端代码(Angular 2)的请求,一切正常。将标头添加到从html内制作的http请求中

但是,来自html的请求呢?

... 
<img src="api/Videos/{{video.id}}/thumbnail"> 
... 

如何为这些请求添加授权标头?这是一款Angular 2应用程序,因此可能有几种解决方案。

回答

0

不知道这是你的意思,但你可以创建一个服务来获取所需的数据(从HTTP请求),

getData() : Observable<Model[]> { 
    // ...using get request 
    return this.http.get(this.url) 
      // ...and calling .json() on the response to return data 
      .map((res:Response) => res.json()) 
      //...errors if any 
      .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
} 

和模型

export class Model { 
constructor(
    public id: string, 
    public imagePath: string 
    //other properties that you might need.. 
    ){} 

}

那么你只需要绑定src属性,如

<img class="img-responsive" src="{{model.imagePath}}" style="max-height: 50px;"/> 

请注意,您可以添加标题您的要求一样,

let headers = new Headers({ 'Content-Type': 'application/json' }); 
let options = new RequestOptions({ headers: headers }); // Create a request option 

然后

return this.http.get(url, { 
    headers: headers 
});