And*_*alu 1 javascript rest angular
我正在后端通过 REST api 构建一个小的 Angular 前端支持,但我遇到了一个非常奇怪的问题:执行 http.post(url, data, params) 结果什么也没有发生(没有任何迹象表明请求曾经命中webserver,在 Chrome 开发者工具中绝对没有记录请求,这与 this.http.get() 请求相反,后者适用于同一服务器上的 URL)。
export class RestComponent {
constructor ( private http: Http ) {}
sendStuff() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post('http://localhost:3021/api/data', {'data': 3}, options)
.catch(this.handleError);
}
}
Run Code Online (Sandbox Code Playgroud)
我觉得很愚蠢,因为它一定是相当明显但它逃脱了我的东西。我创建了一个简单的组件,它只有两种方法,一种通过 post 发送硬编码数据,另一种通过 get 获取硬编码 json,第二个有效,但第一个无效。
将不胜感激任何指针。
谢谢!
本质上,您只创建了一个可观察对象,而可观察对象本质上是惰性的。只有当有人订阅他们时,他们才会收到呼叫/发出。因此,您必须调用subscribe从它返回的 Observable 才能使您的代码正常工作。除此之外,一切似乎都很完美。
sendStuff() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post('http://localhost:3021/api/data', {'data': 3}, options)
.catch(this.handleError)
.subscribe(
(data) => console.log(data)
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3354 次 |
| 最近记录: |