这是我的HTTP服务:
postData(name, country) {
var body = JSON.stringify({
"name":name,
"country":country
});
console.log(name); // it outpus the correct value
console.log(country); // it outpus the correct value
return this.http.post('http://178.62.58.150:5000/api/cosmo/',body)
.map(res => {
res.text();
console.log(res.text());
})
.do(data => {
this.data = data;
// console.log(this.data);
})
}
似乎它没有将正文发送到POST请求。
这些输出正文的正确值
console.log(name);
console.log(country);
但是
console.log(res.text());
它给我一个数据库验证错误,指出正文和国家是必需的......
如何正确发送身体?
P.S。 :我用POSTMAN对它进行了测试,它确实有效!
答案 0 :(得分:0)
看起来问题在于构建post params,尝试
var body = JSON.stringify({
name: name,
country: country
})
请注意,我的哈希键不是字符串,因为stringify
会将JavaScript对象转换为JSON字符串。
如果这不起作用,请使用Google Developer工具查看您的请求发送到服务器的内容。
答案 1 :(得分:0)
我添加了
let headers = new Headers();
headers.append("Content-Type","application/json");
return this.http.post('http://178.62.58.150:5000/api/cosmo/',body,{headers:headers})