【问题标题】:post returns json data with slashespost返回带有斜杠的json数据
【发布时间】:2018-02-16 11:13:45
【问题描述】:

我正在使用 angular 2 和 ionic 的用户名和密码对我的应用上的用户进行身份验证。 当我使用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")
}) 

【问题讨论】:

    标签: angular typescript ionic2 ionic3


    【解决方案1】:

    从服务器获取响应时,您需要提取该响应的正文。您可以通过添加这行代码.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")
            }); 
    

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 1970-01-01
      • 2016-11-06
      • 2020-04-18
      • 2011-10-04
      • 1970-01-01
      • 2018-05-20
      • 2014-12-25
      • 1970-01-01
      相关资源
      最近更新 更多