【问题标题】:POST request with data in node.js使用 node.js 中的数据发布请求
【发布时间】:2011-05-26 12:12:54
【问题描述】:

如何将带有数据(例如一些变量)的 POST 请求发送到 https 服务器并将结果显示给最终用户?

【问题讨论】:

  • 使用 AJAX! (另外,请提供有关您正在尝试做的事情的更多详细信息:))
  • 那么这个node.js脚本是在两者中间的服务器上运行的?
  • 它是一些 REST API 的实现,为了进行身份验证,我需要向 API 服务器询问权限令牌,我需要使用带有一些秘密 ID 的 POST 请求,因此无法使用 AJAX(它有在服务器端完成,无需任何客户端集成)
  • @Spiny Norman:node.js 不知道 AJAX 是什么。这是一个客户端的概念。 AJAX 请求的处理方式与其他所有请求一样(服务器端)。
  • 啊,对。请忽略我的评论:我不知道 node.js 并假设它只是一些 javascript 文件:$

标签: javascript post request node.js


【解决方案1】:

使用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);
  });
});

我很确定你可以用POST 交换GET ;)

【讨论】:

  • 好的,这里怎么发数据?我知道我必须在 https 的 createClient() 中将 'security' arg 设置为 'true',但我不知道如何发送数据。
  • @qqryq:使用request.writerequest 是一个 http.ClientRequest 对象。 docs 告诉你你需要的一切。
  • @qqryq:你读过文档吗?您是否按正确的顺序调用所有内容? “它不起作用”不是一个充分的错误描述。
  • 是的,我在这里创建该问题之前阅读了文档,也许我只是不明白一些东西。我在 google.request() 之后和 request.end 之前使用 request.write,但我连接的服务器的行为就像请求中没有数据一样。
  • @qqryq "我修好了,但我不会发布我是如何修好的" = fuuuuuuuu。您能否发布您更正的代码/解释出了什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 2023-03-15
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 2012-12-13
相关资源
最近更新 更多