从本地主机读取node.js中的请求对象
reading request object in node.js from localhost
我是node.js的新手,我正在尝试使用localhost:XXXX进行一些简单的示例。
我想从节点读取我的请求对象。我有一本书,在书中他们使用cURL(某种程序)来与node通信,而不是浏览器。是否有可能在浏览器地址字段中写一些东西,并将其发送到localhost,并有一个请求对象发送到节点,看起来完全像如果我有一个键入的url到服务器的某个地方?如果是,我该怎么写呢?如果我使用localhost,我必须使用cURL或类似的东西吗?
我是非常新的节点和javascript,所以我不知道我是否使用正确的词。我试过搜索,但我想我不知道该搜索什么词。
这是我的服务器代码:var port = 3000;
http.createServer(function (req, res) {
var url = parse(req.url);
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World'n' + url );
}).listen(port);
当我在地址栏中写http://localhost:3000/hello.com
时,我希望我能在浏览器中得到Hello world hello.com
,但我得到hello world [object object]
请帮助。
您可以通过测试使用您的常规浏览器。在您的URL地址中输入您在cURL地址中的URL地址。例如:
localhost:3000/index.html
如果你想有更复杂的工具,给你更多的信息关于请求/响应,你可以使用工具,如邮差
在你的代码中使用:
res.end('Hello World'n' + url.parse(req.url, true));
url是一个对象,你需要指定你要调用的属性或方法。
下面是一个如何解析URL的示例。使用同构JavaScript轻松解析URL:
@Vlad Beden给出的上述答案看起来不错,但您可能想要使用以下代码
var http = require("http");
var port = 3000;
http.createServer(function (req, res) {
console.log('Requested method: ', req.method);
var params = parseUrl(req.url);
res.writeHead(200, { 'Content-Type': 'text/plain' });
var data = 'Hello World'
for(var i=0; i<params.length; i++)
data += ''n'+params[i]
res.end(data);
}).listen(port);
var parseUrl = function(url) {
var params = [];
if(url && url != '' && url != '/') {
url = url.replace(/^'/|'/$/g, '');
params = url.split('/');
}
return params;
}
您可以尝试http://localhost:3000/hello.com
或http://localhost:3000/hello.com/google.com/more.com/etc
。我想建议你打印请求对象console.log(req)
,并看看理解url,方法,标题等。
- servlet中的请求对象,而不是从jsp接收参数值
- 哪个 JavaScript 库在请求对象上设置 _parsedUrl 属性
- 从express请求对象获取客户端MAC地址
- 请求对象中的MEANJS猫鼬模型
- 我的 AJAX 请求对象无法正确解析 URL 的协议部分
- ajax - 请求对象就绪状态不变
- 使用请求对象中可用的值打印 JavaScript 警报
- backbone.js中.save()的响应/请求对象
- 是否可以在另一个后置请求中转发一个后置请求对象
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 如何从节点.js请求对象读取数据事件(块)
- Nodejs,Express - 尝试从请求对象获取客户端 IP - 显示 127.0.0.1
- 超级代理“请求”对象被重新定义为函数
- 检查 parse.com 请求对象
- 如何在 angularjs 中删除请求对象中的文件
- 如何测试方向的相等性服务请求对象
- 从 grunt-contrib-connect 请求对象获取数据
- 如何使用不同的URL复制请求对象
- 在不覆盖用户请求对象的情况下,使用具有多种策略的passport.js
- 为什么我的请求对象没有方法“param”