post用斜杠返回json数据

时间:2017-09-07 16:16:57

标签: angular typescript ionic2 ionic3

我使用带有角度2和离子的用户名和密码验证我的应用上的用户。 当我使用subscribe方法时,我得到服务器返回的数据,如此

{"_body":"[{\"FullName\”:\”user\”,\”PhoneNo\”:\”0001\”}]”,”status":200,"ok":true,"statusText":"OK","headers":{"content-type":["text/html"]},"type":2,"url":"http://webserver.com/login.php"}

在数据中使用斜杠。

当我使用rxjx方法时,它无法从服务器获得任何响应,并且显示为error sending 我如何修复我的脚本,以便我得到像这样的数据返回

[{"FullName”:”user”,”PhoneNo”:”0001”}]

就像普通的json

一样

下面是我用来发布到服务器的脚本

this.http.post("http://webserver.com/login.php",{'username':this.username,'password':this.password}).subscribe(data=>{
console.log(JSON.stringify(data));
},error=>{
  console.log("error sending")
}) 

1 个答案:

答案 0 :(得分:2)

从服务器获取响应时,您需要提取该响应的正文。您可以通过添加以下代码.map(res => res.json())来完成此操作:

let data = { 'username': this.username, 'password': this.password };

this.http.post("http://webserver.com/login.php", data)
    .map(res => res.json()) // <---- Here!
    .subscribe(
        data => {
            console.log(JSON.stringify(data));
        },
        error => {
            console.log("error sending")
        });