node.js - 如何返回url中请求的字符串?

标签 node.js

如何将 get 请求字符串转换为可行的字符串,例如如果有人访问 www.mypage.com/yo ,我怎样才能让 Node 将“yo”返回到变量中?

var http = require('http');

var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  var stringrequested = ??????
  response.end(stringrequested);

});

// Listen on port 8000, IP defaults to 127.0.0.1
server.listen(8000);

// Put a friendly message on the terminal
console.log("Server running");

最佳答案

request.url 包含请求的 uri:

var stringrqeuested = request.url; // /yo

如果您只想要“yo”,您可以像这样删除前导斜杠:

var stringrqeuested = request.url.substr(1); // yo

但是 request.url 还包含查询字符串,例如/yo?a=b&c=d。如果您不希望这样,则需要解析 url:

var stringrequested = require('url').parse(request.url).pathname; // /yo
var stringrequested = require('url').parse(request.url).pathname.substr(1); // yo

这是来自 documentation 的示例.

node> require('url').parse('/status?name=ryan', true)
{ href: '/status?name=ryan',
  search: '?name=ryan',
  query: { name: 'ryan' },
  pathname: '/status' }

关于node.js - 如何返回url中请求的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17649720/

相关文章:

javascript - 在 "on"语句之外定义套接字 io 函数

api - JSON错误响应,有条件的疯狂

javascript - 从 Node.js 请求包发出大量请求时出现 "Error: ENOTFOUND"

javascript - 收到错误,指出声明的变量未定义

node.js - 使用 sendgrid Web api 发送 Nodejs 电子邮件

javascript - 登录表单和 protected 路由无法正常工作;登录成功后 protected 路由打不开

node.js 通过管道从( fork 的)child_process 中输出流

node.js - learnyounode #9 杂耍异步,官方解决方案会崩溃吗?

javascript - 错误 : An API error occurred: invalid_auth

Javascript使用优先级数组对对象数组进行排序