我的客户使用npm请求模块将数据从一个网站发布到我的网站。
即如下。
testservice : function(req , res){
var data = { title : 'my title' , content : 'my content'};
request.post('https://dev.example.com/test' , data , function(err , response ,body){
if (err) console.log(err);
if(response) console.log('statuscode='+response.statuscode);
});
};
我尝试使用请求获取方法从我的客户端站点发布到我的站点的JSON数据,但我没有得到json数据输出。
请帮助我获取使用请求发布方法发布的JSON数据。感谢。
答案 0 :(得分:1)
试试这个:
testservice: function(req, res) {
var data = { title: 'my title', content: 'my content' },
options = {
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
};
request.post('https://dev.example.com/test', options, function(err, response, body) {
if (err) console.log(err);
if (response) console.log('statuscode=' + response.statuscode);
});
};
答案 1 :(得分:0)
我尝试使用请求获取方法从我的客户端站点将JSON数据发布到我的站点,但我没有得到json数据输出。
我相信你可能会误解request.get函数。它不会“获取”发布到您网站的数据,它实际上会向特定网址发出“获取”请求。
如果您想要在您的站点上接收POST的数据,那么您需要配置服务器以侦听来自您的朋友站点的POST请求,然后从该请求的正文中解析发布的数据。
即。在您的服务器代码中,如果您使用的是raw node.js
http.createServer(function(req,res){
if(req.method.toUpperCase() === "POST"){
//code to parse out the data from the post request
}
}).listen(8080)
有关解析POST数据的更多详细信息,请参阅How do you extract POST data in Node.js?
如果有帮助,请告诉我,如果没有,请澄清您的问题。