2017-10-20 69 views
-1

嘿即时尝试从我的服务器使用角度POST获取一些数据我得到的参数我发送,我得到了服务器的响应。我只是无法处理我的反应,并实际得到我想要的参数。如果我在控制台看我如何处理POST响应

我得到这样的响应:

data from server Response {_body: " {"data":[{"temperature":"20","dispenses":5,"lates…08:36:15","latest_reset":"2017-10-15 08:42:47"}]}", status: 200, ok: true, statusText: "OK", headers: Headers, …} 

我怎么会去grapping的温度是多少?或者我应该改变我的返回JSON?请指导我在正确的方向

我的角度代码:

getCustomerData() 
    { 
     var headers = new Headers(); 
     headers.append('Content-Type', 'application/x-www-form-urlencoded'); 
     let urlSearchParams = new URLSearchParams(); 
     urlSearchParams.append('customerID', this.customerID); 
     //urlSearchParams.append('password', 'wtf'); 
     let body = urlSearchParams.toString() 

     this.http.post('HIDDEN BUT WORKS',body,{headers: headers}).subscribe(data => { 
     // Read the result field from the JSON response. 
     console.log('data from server', data); 
     let jsonResponse = data.json(); 
     //console.log('nextstep',data.temperature); 
     console.log('hmm',jsonResponse._body.data.temperature); 
     //console.log('size',data.toString); 
    },(error) => { 
     console.log('error', error); 

     }); 
    } 

我响应代码:

while ($stmt->fetch()) {   
      $json[] = array(
      'temperature' => $temperature, 
      'dispenses' => $dispenses, 
      'latest_cleaning' => $latest_cleaning,  
      'latest_reset' => $latest_reset  
      );   
     } 


     $finalresult['data'] = $json; 

     //logToFile('data.log',json_encode($finalresult)); 
     echo json_encode($finalresult); 

回答

1

使用你的代码,你应该做:

this.http.post('HIDDEN BUT WORKS',body,{headers: headers}) 
.map(response => response.json()) 
.subscribe(data => { 
    console.log('temperature', data[0].temperature); 
}) 

您还可以使用data[0]访问其他属性。

+0

删除我的$ finalresult ['data'] = $ json;你的答案都有效! TY –

1

尝试这样的:

this.http.post('HIDDEN BUT WORKS',body,{headers: headers}).map(response => response.json()).subscribe(data => { 
    console.log('data', data); 
}) 
+0

这将返回:data {data:Array(1)}如何访问温度参数?例如 –

+0

console.log('temerature',data [0] .temperature);删除我的$ finalresult ['data'] = $ json后删除 – Chandru

+0

;你的答案都有效! TY –