我使用带有角度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")
})
答案 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")
});