
[英]How to redirect to external URL with response data (from post) after http.post
[英]How to get the response data from http.post
我正在使用 Angular typescript 并尝试从 HTTP.post 响应中获取数据。 这是我的代码:
this.http.post(
link,
postData,
{responseType: 'json'}) //see remark below.
.subscribe(responseData => {
console.log(" Success from http post ");
postResponse = responseData;
var temp: number = 0;
//temp = responseData[0].id;
},
(error: any) => {
console.log(" Error from http post"+error)
});
响应成功。 响应采用类/json 内容数组的形式,包含以下成员 - id、strMatrix 和 retCode。 在附图中,您可以看到代码和调试器。 “观察”调试器中的 responseData[0].id 显示值“1”,但行 temp = responseData[0].id; 不通过编译。 关于如何提取所有字段的任何想法? 我做了一些工作,现在我可以使用以下命令访问变量:
let temp = <PostResult[]>responseData;
myResult.Id = temp[0].id;
myResult 在以下行中方法的开头定义:
var myResult : ResultsComponent = new ResultsComponent;
现在我的问题是在 post 命令中,数据存在。 在 post 命令之外,即在行之后:
(error: any) => {
console.log(" Error from http post"+error)
});
数据不复存在。 我究竟做错了什么?
您不使用var
在 Angular 中定义 class 属性。 这是正确的方法:
// Declare a class property
matrixResponse: PostResult[];
constructor(){}
// Make your request
this.http.post(
link,
postData,
{responseType: 'json'})
.subscribe(responseData => {
this.matrixResponse = responseData;
},
(error: any) => {
console.log(" Error from http post"+error)
});
我不明白你想用这个做什么: var myResult: ResultsComponent = new ResultsComponent;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.