Angular http 无法正常工作且未抛出任何错误
Angular http get not working and no error thrown
围绕这个主题有很多问题,但我找不到合适的解决方案。我在控制台上看不到任何错误,这就是为什么它非常混乱的原因。
这是我的服务文件代码
findVariantById(id: string):Observable<Evaluation[]> {
const endPoint = 'Evalution/Get'
let params = new URLSearchParams();
params.set('key', '1234'); //For example API key would come into picture
params.set('id', id);
params.set('format', 'json');
params.set('callback', 'JSONP_CALLBACK');
// this much code gets called but nothing on Network tab.
return this.http.get(this.apiUrl + endPoint, { search: params })
.map<Evaluation[]>(this.extractData)
.catch<Evaluation[]>(this.handleError);
}
这是我调用服务的组件文件代码
evaluation(id: string) {
this.searchService.findVariantById(id)
.subscribe(
evaluations => this.evaluations = evaluations,
error => this.errorMessage = <any>error);
}
和型号
export interface Evaluation {
QuestionId: string;
QuestionText: string;
questionResponse: Array<Object>
}
我已经为它添加了适当的依赖项
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
我正在使用“@angular/core”:“~2.2.1”和"rxjs":“5.0.0-beta.12” .
非常感谢任何形式的帮助。谢谢
更新:切换到Angular:4.0.1后,Http.Get和Post出现错误
Supplied parameters do not match any signature of call target.
所以我做了以下更改。它工作得很好。
return this.http.get(this.apiUrl + endPoint, { search: params })
.map(this.extractData)
.catch(this.handleError);
此错误是由于模拟 HTTP 请求的虚假后端提供程序造成的。
我按照以下教程使用假后端提供程序执行登录和注册。
更多信息:http://jasonwatmore.com/post/2016/09/29/angular-2-user-registration-and-login-example-tutorial
通过从 app.module.ts
中删除它的依赖项,它解决了我的问题。
围绕这个主题有很多问题,但我找不到合适的解决方案。我在控制台上看不到任何错误,这就是为什么它非常混乱的原因。
这是我的服务文件代码
findVariantById(id: string):Observable<Evaluation[]> {
const endPoint = 'Evalution/Get'
let params = new URLSearchParams();
params.set('key', '1234'); //For example API key would come into picture
params.set('id', id);
params.set('format', 'json');
params.set('callback', 'JSONP_CALLBACK');
// this much code gets called but nothing on Network tab.
return this.http.get(this.apiUrl + endPoint, { search: params })
.map<Evaluation[]>(this.extractData)
.catch<Evaluation[]>(this.handleError);
}
这是我调用服务的组件文件代码
evaluation(id: string) {
this.searchService.findVariantById(id)
.subscribe(
evaluations => this.evaluations = evaluations,
error => this.errorMessage = <any>error);
}
和型号
export interface Evaluation {
QuestionId: string;
QuestionText: string;
questionResponse: Array<Object>
}
我已经为它添加了适当的依赖项
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
我正在使用“@angular/core”:“~2.2.1”和"rxjs":“5.0.0-beta.12” . 非常感谢任何形式的帮助。谢谢
更新:切换到Angular:4.0.1后,Http.Get和Post出现错误
Supplied parameters do not match any signature of call target.
所以我做了以下更改。它工作得很好。
return this.http.get(this.apiUrl + endPoint, { search: params })
.map(this.extractData)
.catch(this.handleError);
此错误是由于模拟 HTTP 请求的虚假后端提供程序造成的。
我按照以下教程使用假后端提供程序执行登录和注册。
更多信息:http://jasonwatmore.com/post/2016/09/29/angular-2-user-registration-and-login-example-tutorial
通过从 app.module.ts
中删除它的依赖项,它解决了我的问题。