我只想使用console.log
读取控制台内的数组值。
我能够在浏览器中看到响应,甚至`console.log(data)在浏览器中显示了这个结果 -
我的communication.ts
代码是 -
import { Component , OnInit } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { commservice } from './commservice';
import {listenToElementOutputs} from "@angular/core/src/view/element";
import { Http,Response,Headers } from '@angular/http';
/**
* Generated class for the CommunicationPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-communication',
templateUrl: 'communication.html',
providers: [commservice]
})
export class CommunicationPage implements OnInit {
public SNO;dataa;TASK;TAG_DT;TAG_FROM;TAG_TO;TAG;STATUS;ENTRYFROM;ISREAD;
private _url:string = "http://219.90.67.154/quicktask/webservice /taskcom.php?taskno=";
constructor(private _http : Http,public _commservice: commservice, public navCtrl: NavController, public navParams: NavParams) {
}
ngOnInit()
{
this.SNO=this.navParams.get("sno");
console.log(this.SNO);
let params;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
// return this._http.post(this._url+this.SNO,params,{headers:headers})
// .map((response:Response) => response.json());
return this._http.post(this._url+this.SNO,params,{headers:headers})
.subscribe(data => {console.log(data);});
}
}
如果我通过传递网址使用邮递员,我会得到所需的结果,如果一切正常,那么为什么我没有得到.subscribe(data => {console.log(data[0]);});
或.subscribe(data => {console.log(data[0].TAG);});
的结果
请帮忙
答案 0 :(得分:2)
这是因为你首先是控制台登录是整个Response
,所以你想要在订阅中控制日志的是JSON
:
.subscribe(data => {console.log(data.json()[0])
请注意json()
答案 1 :(得分:0)
尝试使用Json.stringify 像这样
console.log(JSON.stringify(data));
答案 2 :(得分:0)
这可能有不同的原因:
_url
后的/webservice
变量中有空格:
private _url:string = "http://219.90.67.154/quicktask/webservice /taskcom.php?taskno=";
但是当我看到它正确时,你的邮递员请求中有空格,所以我不认为这就是原因。
params
和this.SNO
怎么样?它们是在您提出要求时定义的吗?
<强>更新强>
要从回复中创建对象,您可以使用JSON.parse(data._body)
。例如,要获得TAG
,您需要使用JSON.parse(data._body)[0].TAG
。
答案 3 :(得分:0)
使用console.log(data._body);
然后您将收到您从帖子中发送的弦乐json对象。您可以使用JSON.parse(data._body)
从json字符串中获取对象。