Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取base64字符串的Http失败_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 获取base64字符串的Http失败

Javascript 获取base64字符串的Http失败,javascript,angular,typescript,Javascript,Angular,Typescript,这是我的代码: getPhoto(employeeId: string): Observable<any[]> { const headers = new HttpHeaders({ 'responseType': 'json' }) const url = `/Emps/GetPhoto`; const params = new HttpParams({ fromObject: { employeeId }, });

这是我的代码:

getPhoto(employeeId: string): Observable<any[]> {
    const headers = new HttpHeaders({
      'responseType': 'json'
    })

    const url = `/Emps/GetPhoto`;
    const params = new HttpParams({
      fromObject: { employeeId },
    });
    return this.http.get<any[]>(url, { params, headers });
  }
getPhoto(employeeId:string):可观察{
const headers=新的HttpHeaders({
“responseType”:“json”
})
常量url=`/Emps/GetPhoto`;
const params=新的HttpParams({
fromObject:{employeeId},
});
返回this.http.get(url,{params,headers});
}
这是该方法返回的结果:

数据:image/svg;base64,PHN2ZYB4BWXUCZ0IAHR0CDOVL3DY53MY5VCMCVMJAWMC9ZDMCIIHHTBG5ZONHSAW5RPSJODHRWOI8VD3D3LNCZLM9YZY8OTK5L3HSAW5RIIB2AW3QM94PSIWIDAGND4IDI4MCGD

该方法返回Success 200,但在控制台中,我在XMLHttpRequest.onLoad的JSON.parse()处的位置0处获得了JSON中的意外标记d,并且getPhoto subscribe调试器从未命中。我做错了什么?

用于Angular
HttpClient
的GET方法是
json
。尝试显式设置响应类型

返回this.http.get(url,{params,headers},responseType:'text'});
如果更适合您的需求,您还可以使用
blob
arraybuffer
。它的类型定义如下

responseType:'arraybuffer'|'blob'|'json'|'text'
更新1:将
响应类型
推到
选项
对象

之外,for Angular
HttpClient
的GET方法是
json
。尝试显式设置响应类型

返回this.http.get(url,{params,headers},responseType:'text'});
如果更适合您的需求,您还可以使用
blob
arraybuffer
。它的类型定义如下

responseType:'arraybuffer'|'blob'|'json'|'text'

更新1:将
responseType
推到
选项之外
对象

您会因为响应不是有效的json对象而收到该错误您会因为响应不是有效的json对象而收到该错误返回此.http.get(url,{params,responseType:'text'});如果我这样做,我会得到语法错误类型“Observable”不可分配给类型“Observable”。@petko_stankoski:您期望的是一个
any
数组,而响应不是。尝试将返回类型更改为
getPhoto(employeeId:string):Observable
。仍然会出现错误:没有重载匹配此调用。重载1/15'(url:string,选项:{headers?:HttpHeaders{[header:string]:string{string[]};观察:“事件”;参数?:HttpParams{[param:string]:string{[param:string];};reportProgress?:boolean;responseType?:“json”;带凭据?:boolean;}):可观察到),给出以下错误。类型“text”不可分配给类型“json”。@petko_stankoski:这是我的错误。重载定义中显示的
responseType
应该在
选项
对象之外。我已经更新了答案。请查看它现在是否工作。另一个错误:找不到名称“responseType”。tsreturnthis.http.get(url,{params,responseType:'text'});如果我这样做,我会得到语法错误类型“Observable”不可分配给类型“Observable”。@petko_stankoski:您期望的是一个
any
数组,而响应不是。尝试将返回类型更改为
getPhoto(employeeId:string):Observable
。仍然会出现错误:没有重载匹配此调用。重载1/15'(url:string,选项:{headers?:HttpHeaders{[header:string]:string{string[]};观察:“事件”;参数?:HttpParams{[param:string]:string{[param:string];};reportProgress?:boolean;responseType?:“json”;带凭据?:boolean;}):可观察到),给出以下错误。类型“text”不可分配给类型“json”。@petko_stankoski:这是我的错误。重载定义中显示的
responseType
应该在
选项
对象之外。我已经更新了答案。请查看它现在是否工作。另一个错误:找不到名称“responseType”。ts