Articles of url

从查询string中提取URL

考虑一个这样的url: http://some-site.com/something/ http://www.some-other-site.com 我试图从查询string,即第二个http://使用以下方法login到控制台的粗体部分。 app.get("/something/:qstr",function(req,res){ console.log(req.params.qstr); }; 然而,这只会工作,直到http: – >遇到/ /遇到它不再包含在req.params.qstr我想知道如何获取整个URLstring。 我怎样才能做到这一点? 谢谢。

URL不是一个函数node.js

我一直在尝试使用这里描述的节点js的url模块: https : //nodejs.org/api/url.html#url_url ,但我似乎无法得到简单的例子工作。 我想能够build立一个url,但与下面的代码, const URL = require('url'); const apiUrl = new URL('myapi.com/'); apiUrl.searchParams.set('tickers', tickers); console.log(apiUrl.href); 我遇到了错误,该URL不是一个函数。 我已经尝试了与网站build议初始化URL的其他方式,如 const { URL } = require('url'); 但是,这会导致第一个打开的括号中的语法错误。 我如何使用url模块来实际操作url? 编辑: 根据MinusFour的build议,我现在到了这里: const URL = require('url').Url; const apiUrl = new URL('myapi.com/'); console.log(apiUrl); apiUrl.search = 'tickers=[\'msft\']'; console.log(apiUrl.href); 这确实编译和运行,而不会引发错误,但日志 Url { protocol: null, slashes: null, auth: null, host: null, […]

如何使用node.js中的参数获取HTTP请求?

我正在使用NODE.js使用'请求'模块Im: 有用: var request = require('request'); request('http://www.site.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } }); 当我尝试包括参数崩溃! var request = require('request'); request('http://www.site.com/index.php?action=y9sadf98yh', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } }); Error: undefined is not a valid uri or options object. at request […]

你如何在node.js中使用多个请求处理程序?

我来自龙卷风,你有一个requestHandler类,你匹配查询定位到正确的requestHandler。 你如何做node.js? 这样的事情? http=require ('http'); url=require('url') function case1(request,response){ … } function case2(request,response){ … } http.createServer(function(request, response) { var q=url.parse(request.url, true).query switch(true){ case /friend/.test(q): case1(request,response); return; case /foes/.test(q): case2(request,response); return; } }).listen(9999)

在node.js中使用socket.io共享协作工作的url

我正在使用node.js和socket.io来处理多用户绘图应用程序 我在node.js上使用快速Web框架 var express = require("express"), http = require("http"); var hoganex = require('hogan-express'); var app = express(), server = http.createServer(app) io = require('socket.io').listen(server); var routes = require('./routes'); var app = express({ views: path.join(__dirname, 'views') }); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); app.set('layout', 'layout.html'); app.engine('html', hoganex); app.get('/test', routes.index); app.use(express.static(__dirname + '/assets')); // Listen for incoming […]

Node.js + express:重写urlpath

我想知道是否有可能用express来重写url。 我其实有这个代码: var http, express, app; http = require("http"); express = require("express"); app = express(); app.use(express.json()) app.use(express.urlencoded()) .post("/ajax_login", function (req, res) { "use strict"; http.get({ host: "localhost", port: 8080, path: "/users/" + req.body.email + "/email" }, function (resp) { resp.setEncoding("utf8"); resp.on("data", function (data) { json = JSON.parse(data); if (json.password.password === sha1(req.body.password)) { res.render("home.ejs"); } else […]

(Node.js)如何获取存储在服务器中的二进制文件的URL?

我正在开发一个服务使用node.js,它返回一个URL到存储在我的服务的数据库中的文件。 在我的程序中,我将文件保存到,例如“./aFolder/filename.jpg”。 我打算使用DigitalOcean。 我的问题是:1.这种url的forms是什么? 2.如何使用node.js在我的代码中获取该url? 先谢谢你。

app.get起作用,app.use不起作用

这是如何工作的: app.get(/\/new\/(.*)/, function (req, res) { console.log(req.params[0]); res.json({site: req.params[0]}); }); 但如果我使用app.use() ,相同的代码将不会。 const app = require("express")(); const error = require("./routes/error"); app.use(/\/new\/(.*)/,error); error.js const express = require("express"); const router = express.Router(); router.get("/",function(req,res){ console.log(req.params[0]) res.json({site:req.params[0]}) }); module.exports = router; 在这种情况下,它只是将未定义的日志logging到控制台,但在第一种情况下,它将返回“新”路由后input的所有内容。

使用Express中的参数在URL上提供静态文件

我正在使用Express的把手模板引擎。 当不带参数的端点时,所有的静态文件都被提供。 当包含参数时情况并非如此。 app.engine('.hbs', hbs(handlebarsOptions)); app.set('view engine', '.hbs'); app.use(express.static('public')); 这是我正在尝试使用的端点。 app.get('/projects/:name', function(req, res) { if(req.params.name === 'batteryapp') { res.render('project', {name: 'BatteryApp'}); } }); 我已经看到一个例子,如果你使用res.sendFile(),显然工作。 但是,使用模板引擎时必须使用res.render()。

Express中的参数路由为空

我尝试打印路由器参数,但req.params是空的,不知道我做错了什么。 在app.js中: … var shareFile=require('./controllers/file/share'); … app.use('/share/:id', shareFile); … 和share.js控制器: var express = require('express'); var router = express.Router() router.get('/', function (req, res, next) { res.send(req.params) }); module.exports = router; localhost:3000/share/123给出空的json页面。 将res.send更改为console.log会给出{} 。 谢谢