Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 解析过程中Http失败5_Javascript_Angular_Http_Angular5_Http Get - Fatal编程技术网

Javascript 解析过程中Http失败5

Javascript 解析过程中Http失败5,javascript,angular,http,angular5,http-get,Javascript,Angular,Http,Angular5,Http Get,在解析过程中接收HTTP失败。目标是从api响应下载csv文件 控制器: 下载文件(数据){ const blob=new blob([data],{type:'text/csv'}); constURL=window.url.createObjectURL(blob); 窗口打开(url); } getFileDownload():void{ this.iportalUploadService.getFileDownload(this.fileName).subscribe(数据=>{ 调试器

在解析过程中接收HTTP失败。目标是从api响应下载csv文件

控制器:

下载文件(数据){
const blob=new blob([data],{type:'text/csv'});
constURL=window.url.createObjectURL(blob);
窗口打开(url);
}
getFileDownload():void{
this.iportalUploadService.getFileDownload(this.fileName).subscribe(数据=>{
调试器;
this.fileDownload=数据;
下载文件(数据);
});
}
服务:

private fileDownloadUrl='file transfer/validationErrorsCSV';
FormHtpOptions(参数):任意{
常量httpOptions={
标头:{“应用程序令牌”:this.getToken()},
params:params,
};
返回httpOptions;
}
getFileDownload(文件名):可观察<对象>{
const baseUrl=this.getBaseUrl();
返回this.http.get(baseUrl+this.fileDownloadUrl,this.formHtppOptions({fileName:fileName}));
}
下面是我收到的控制台错误

回应格式照片
您收到此错误是因为您的响应不是JSON格式。您试图将其转换为对象,而CSV文本无法解析为正确的json对象。以下是您可能希望执行的操作:

  getFileDownload(fileName):  Observable<any> {
    const baseUrl = this.getBaseUrl();
    return this.http.get(baseUrl + this.fileDownloadUrl, this.formHtppOptions({fileName: fileName})).pipe(map((data:any) => this.converter.ToJson(data)));
  }
getFileDownload(fileName):可以观察到,或者通过循环响应来解析自己

更新:以下是手动解析响应的示例:


看看上面的博文。

我通过在formhttpOtions中添加responseType:“text”解决了这个问题

您收到此错误是因为您的响应不是JSON格式。您正在尝试将其转换为对象,而CSV文本无法解析为正确的json对象如何将响应转换为json格式?请看,您需要解析响应http get,而不是直接转换为对象