Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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
Angular 再次单击并刷新数据后发送http请求_Angular - Fatal编程技术网

Angular 再次单击并刷新数据后发送http请求

Angular 再次单击并刷新数据后发送http请求,angular,Angular,我正在通过RESTAPI检索数据,在第一次请求之后,即使我正在订阅,也无法刷新数据。RESTAPI在每次请求后向我提供一个随机数据,目前我只能发送一个请求。我做错了什么 imageContent.component.hmtl <div *ngFor="let x of data;">{{x}}</div> {{x} imageContent.component.ts this.apiService.callDataForReview() .subscribe(r

我正在通过RESTAPI检索数据,在第一次请求之后,即使我正在订阅,也无法刷新数据。RESTAPI在每次请求后向我提供一个随机数据,目前我只能发送一个请求。我做错了什么

imageContent.component.hmtl

<div *ngFor="let x of data;">{{x}}</div>
{{x}
imageContent.component.ts

this.apiService.callDataForReview()
   .subscribe(result => {this.data=result, console.log(result)},
     error => this.handleError = <any>error);
} 
callDataForReview(): Observable<any> {
         this.isLoading = true;
         let url = '/rest/v4/jobs/' + this.keyID;
         let headers = new Headers({'Content-Type': 'application/json'});
         return this.http
             .post(url, JSON.stringify(this.jsonData), {headers:headers})
             .map((res) => {
                    if (res) {

                        if (res.status === 201) {
                            this.isLoading = false;
                            console.log(res.json().outputValues['json-output-14'])

                            return [res.json().outputValues['json-output-14']];
                        }
                        else if (res.status === 200) {
                            this.isLoading = false;
                          console.log(res.json().outputValues['json-output-14'])

                            return [res.json().outputValues['json-output-14']];
                        }else{
                          alert('Etwas ist schief gelaufen. Probiere es noch einmal!')
                        }
                    }
                }).catch((error: any) => {
                    if (error.status === 500) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 400) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 409) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 406) {
                        return Observable.throw(new Error(error.status));
                    }
                });



         }
this.apiService.callDataForReview()
.subscribe(result=>{this.data=result,console.log(result)},
error=>this.handleError=error);
} 
apiService.ts

this.apiService.callDataForReview()
   .subscribe(result => {this.data=result, console.log(result)},
     error => this.handleError = <any>error);
} 
callDataForReview(): Observable<any> {
         this.isLoading = true;
         let url = '/rest/v4/jobs/' + this.keyID;
         let headers = new Headers({'Content-Type': 'application/json'});
         return this.http
             .post(url, JSON.stringify(this.jsonData), {headers:headers})
             .map((res) => {
                    if (res) {

                        if (res.status === 201) {
                            this.isLoading = false;
                            console.log(res.json().outputValues['json-output-14'])

                            return [res.json().outputValues['json-output-14']];
                        }
                        else if (res.status === 200) {
                            this.isLoading = false;
                          console.log(res.json().outputValues['json-output-14'])

                            return [res.json().outputValues['json-output-14']];
                        }else{
                          alert('Etwas ist schief gelaufen. Probiere es noch einmal!')
                        }
                    }
                }).catch((error: any) => {
                    if (error.status === 500) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 400) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 409) {
                        return Observable.throw(new Error(error.status));
                    }
                    else if (error.status === 406) {
                        return Observable.throw(new Error(error.status));
                    }
                });



         }
callDataForReview():可观察{
this.isLoading=true;
让url='/rest/v4/jobs/'+this.keyID;
let headers=新的头({'Content-Type':'application/json'});
返回此文件。http
.post(url,JSON.stringify(this.jsonData),{headers:headers})
.map((res)=>{
如果(res){
if(res.status==201){
this.isLoading=false;
log(res.json().outputValues['json-output-14'])
返回[res.json().outputValues['json-output-14']];
}
否则如果(res.status==200){
this.isLoading=false;
log(res.json().outputValues['json-output-14'])
返回[res.json().outputValues['json-output-14']];
}否则{
警报('Etwas is schief gelaufen.Probiere es noch einmal!')
}
}
}).catch((错误:任意)=>{
如果(error.status==500){
返回Observable.throw(新错误(Error.status));
}
else if(error.status==400){
返回Observable.throw(新错误(Error.status));
}
else if(error.status==409){
返回Observable.throw(新错误(Error.status));
}
else if(error.status==406){
返回Observable.throw(新错误(Error.status));
}
});
}

因此,当您在map的第一次回调中执行
控制台.log时,会得到意外数据,即
res
?我想你必须归还一些东西。您没有在else块中返回任何内容。因此,当您在map的第一次回调中执行
控制台.log
,即
res
,您会得到意外数据?我想你必须归还一些东西。你不会在你的else区返回任何东西。