2010-12-16 141 views
4

我怎么能发送带有数据POST请求(例如,一些变量),以HTTPS服务器并显示结果给最终用户?POST请求

+0

使用AJAX! (另外,请提供你想要做什么:)一些更详细) – 2010-12-16 11:34:28

+1

因此,这Node.js的脚本在这两个中间的服务器上运行? – thejh 2010-12-16 11:35:28

+0

是实现一些休息的API,并进行身份验证,我需要征得他的许可令牌API服务器,我需要使用POST请求的一些秘密ID,因此无法使用AJAX(它必须在服务器端完成,无需任何客户端集成) – qqryq 2010-12-16 11:38:48

回答

4

使用http.Client模块。从文档:

var http = require('http'); 
var google = http.createClient(80, 'www.google.com'); 
var request = google.request('GET', '/', {'host': 'www.google.com'}); 
request.end(); 
request.on('response', function (response) { 
    console.log('STATUS: ' + response.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(response.headers)); 
    response.setEncoding('utf8'); 
    response.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }); 
}); 

我敢肯定,你可以用GET交换POST;)

+0

确定,以及如何将数据送到这里?我知道我必须在https的createClient()中将'security'arg设置为'true',但我不知道如何发送数据。 – qqryq 2010-12-16 11:47:04

+0

@qqryq:使用'request.write'。 'request'是一个'http.ClientRequest'对象。 [docs](http://nodejs.org/api.html#http-clientrequest-196)会告诉你一切你需要的。 – jwueller 2010-12-16 11:50:00

+0

好的,但它似乎仍然不工作。 – qqryq 2010-12-18 22:04:30