我正在尝试将对象发布到Microsoft Flow http请求,但是当它出错时它返回未定义的类型错误,并且我似乎无法完全理解为什么我成功地使用邮递员将其发布到相同的url时。
我的服务电话是
submitComplaint(complaint: Complaint): Observable<any> {
const body = {
'Title': complaint.Title,
'Complaint Type': complaint.ComplaintType.toString(),
'Complaint Detail': complaint.ComplaintDetail,
'Contact Email': complaint.ContactEmail,
'Contact Phone': complaint.ContactPhone,
'NTU Residence': complaint.NTUResidence.toString()
};
const headers = new HttpHeaders({
'Content-Type': 'application/json;odata=verbose'
});
const params = new HttpParams().set('api-version', '2016-06-01');
params.append('sp', '/triggers/manual/run');
params.append('sv', '1.0');
params.append('sig', '<removed>');
return this.http.post(this.apiUrl, body, { headers: headers, params: params })
.pipe(
catchError(this.handleError)
);
}
我的句柄错误代码是
private handleError(error: HttpErrorResponse) {
if (error.error instanceof ErrorEvent) {
// A client-side or network error occurred. Handle it accordingly.
console.error('An error occurred:', error.error.message);
} else {
// The backend returned an unsuccessful response code.
// The response body may contain clues as to what went wrong,
console.error(
`Backend returned code ${error.status}, ` +
`body was: ${error.error}`);
}
// return an observable with a user-facing error message
return throwError(
'Something bad happened; please try again later.');
}
有帮助吗?
编辑2:这是我的on Submit方法,显示我正在订阅服务调用。
onSubmit() {
this.submitted = true;
this.sharepointService.submitComplaint(this.model).subscribe(
res => {
console.log(res);
},
err => {
console.log(err);
}
);
}
我也已将其提交给heroku服务器,以查看是否有帮助,但返回相同的错误。
编辑3: 因此,我已经修复了URL的问题,并使用Microsoft Flow的404返回了该URL。说集合不存在。但是邮递员继续使用相同的网址吗?