【发布时间】:2014-03-28 16:07:30
【问题描述】:
好的,对于 javaScript 和 Node.js 来说都是新手。
基本上我想做的是使用 asynch 模块(一个 node.js 模块)对多个不同的“网站”进行多次异步调用。
例如,只需向 5 个网站发送 GET 请求,并打印它们的响应。
问题是我正在尝试使用 XMLHttpRequest(); javascript 对象,但它似乎在 Node.js 中不起作用,说它是未定义的。我相信这是因为该对象需要在浏览器中使用。这是真的吗?
无论如何,我如何使用 Node.js 发送获取请求?没有在 HTML 或类似的东西中嵌入 javascript。严格来说是 Node.JS。这应该很简单吧?
这是我的意思的一个非常基本的例子(摘自某本书):
function myFunction(theUrl) {
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send();
console.log(xmlHttp.responseXml);
console.log("Finished!");
return xmlHttp.responseText;
}
编辑:
好的,我已经成功发送了一个“GET”请求(我相信)。
我正在将输出打印到文件中(仅用于测试)。除了,我得到了一个 XML(可能是 JSON)的对接,但它的任何地方都没有“200 OK”消息。
如果我发送“HEAD”请求,我将一无所获。
两个问题:为什么我没有收到 200 OK 消息?我得到的所有 XML 是什么?另外,为什么“HEAD”请求不返回任何东西? Node.JS 是否将其剥离?
我想将消息响应(希望是“200 OK”)和所有其他标头分开。如果我没有得到标题,我该怎么做??
【问题讨论】:
-
查看这个github.com/mikeal/request的 Mikeal 请求模块
标签: javascript node.js http get