Tag: expression

单独函数中的HTTP请求

通过使用asynchronous模块,我有这样的东西,它完美的作品。 但是当我尝试重构代码或使其可重用时,它在完成HTTP请求之前完成执行。 Nodejs以asynchronous方式做很多事情,所以find解决scheme对我来说有点难。 我到现在为止。 var async = require('async'), http = require('http'); exports.unitedStates = function(req, res) { var texas = { //GET method data here / ex: host, path, headers…. }; var washington = { //GET method data here / ex: host, path, headers…. }; async.parallel({ getSource: function(callback) { http.request(texas, function(respond) { //Http request }).end(); }, […]

Javascript .match()在使用/ gi标志时不起作用

在stringhtml上使用.match函数时,以下代码返回一个包含匹配项的数组。 html = '<span><b>123</b>C / <b>456</b>K</span>' var matches = html.match('<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>') console.log(matches) 但是,在添加/g标志后,正则expression式不再返回任何内容,而是返回null 。 是否正确使用如下所示? html = '<span><b>123</b>C / <b>456</b>K</span>' var matches = html.match('/<span><b>(.*?)</b>C / <b>(.*?)</b>K</span>/g') console.log(matches)

为什么在Node.js中使用escape()时,MySQL不显示错误?

我正在使用我的Node.js / Express应用程序的mysql模块。 当我查询MySQL没有的数据时,它显示错误。 那正是我期待的。 但是,如果我在传递的数据上使用connection.escape(),即使它们假设是错误的,它也会像没有发生任何事情一样继续执行代码。 为什么? 以下是我的代码。 请记住,我正在传递不存在的数据。 我期待错误,我希望它发生。 下面是我所期望的。 我通过POST传递的ID不在数据库中,因此控制台日志logging:错误 app.post('/check', function(req,res) { connection.query('SELECT * FROM category where id="' + req.body.id + '"', function(err,rows,fields) { if(err) { console.log('ERROR'); } else { console.log('SUCCESS'); } }); }); 下面我添加了connection.escape()function。 现在运行时,即使数据不在数据库中,控制台也会loggingSUCCESS。 app.post('/check', function(req,res) { connection.query('SELECT * FROM category where id=' + connection.escape(req.body.id) + '', function(err,rows,fields) { if(err) […]

AJAX错误:连接被拒绝?

我在MEN堆栈(MongoDB,Express和Node)上运行数字海洋服务器,registry格为:http: //45.55.177.167 : 3000/register 如果您尝试从下拉列表中select一个选项,则会收到以下错误: GET http://45.55.177.167:3000/price?name=pro&cycle=monthly net::ERR_CONNECTION_REFUSED 我想知道这是为什么? 我想这个错误消失,得到的回应,以便价格相应地改变。 我的AJAX方法: $.get('/price', parameters, function(data) { callback(data.price); }); 路线: app.route('/price').get(plans.getPrice); 控制器: var param_name = req.query.name; var param_cycle = req.query.cycle; var query = param_name + "_" + param_cycle; Plan.findByName(query, function(err, selected_plan) { var formatted_price = format_price(selected_plan.price) + '.00'; res.send({price: formatted_price}); }); 这对我的本地主机工作正常,但是当我将它部署到一个液滴,我得到错误。 如果需要澄清,请让我知道。

正确的Autoprefix插件为我的less中间件节点expressjs

目前我使用较less的中间件( https://www.npmjs.com/package/less-middleware )。 我不满意这个解决scheme,因为less-middlware创build一个编译的css文件。 我想要一个记忆的解决scheme,我可以通过expressjs路由。 此外,我想与一个适当的autoprefix解决scheme,因为有许多很好的CSS技术,我不能使用,因为我需要很多时间来添加供应商的前缀。 有没有人知道一个更好的解决scheme,即时编译而不输出一个单独的CSS文件。 这个解决scheme可以提供某种自动修复function吗? 提供较less的中间件是否提供自动修复function? 我还没有find那个方向。

node.js – 将正则expression式发送到服务器

我创build了一个客户端mongodb接口与服务器端mongodb交谈。 它与meteor中实现的迷你混合非常相似。 这里是一个例子: model.find({"field": /search/}).exec(function(err, model){ construct(model); }); 现在通常一切正常,除非我使用正则expression式。 我知道有什么问题,但我无法修复。 这个问题,正如你所猜测的那样,是由ajax发送给服务器的regex / regexParameter /被转换为“/ regexParameter /”,而单引号(或双精度)使正则expression式成为普通string。 在服务器我有这样的事情: var findObject = req.query.findObject // {"field": "/search/"} 🙁 req.models[config.table] .find(findObject) .exec(function(err, model){ return res.json({ error: err, result: model, }); }); 有没有什么我可以做到这一点,而不需要编写像遍历每个findObject的代码行,并匹配正则expression式的每个string…? 感谢大家

使用查询来searchtask_name时,通过id查找function已经实现

好吧,我正在尝试创build一个简单的待办事项列表,网页API。 我有基本的function实施,并正常工作,但我试图使用查询由我的代码中声明的task_namesearch,但无论我似乎无法得到它的function。 app.js var express = require('express') , routes = require('./routes') , http = require('http') , tasks = require('./routes/tasks') , mongoose = require('mongoose'); // MongoDB Connection mongoose.connect('mongodb://localhost/task_tracker'); var app = express(); app.configure(function(){ app.set('port', 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler()); }); app.get('/', […]

正则expression式的string与数字使用node.js

我正在使用正则expression式replacestring。 我如何find下面的十进制数字的string。 Section 5.1.1 Sections 5.1.2 Sections 5.1.3 and 5.1.4 Sec. 5.3.1 任何人都可以帮助我吗? 提前致谢。 更新: (Sec(?:s\.|s|tions|tion|.)?)( |\s)?((\w+)?([.-]|(–)|(—))?(\w+))(\s+)?((\w+)?([.-]|(–)|(—))?(\w+))(\s+(to|and|through)\s(\w+)([.-]|(–)|(—))(\w+))?

一旦用户authentication,如何获得instagram id(instagram-node)

我试图在用户在我的网站上进行身份validation后获取用户的Instagram身份证。 我没有问题的身份validation,因为我可以得到一个access_token当我用我自己的帐户login,我可以使用下面的代码, 假设我知道用户instaid exports.renderUser = function(req, res){ console.log("STARTING RENDERING"); var userID = "280430135"; api.user(userID, function(err, result, remaining, limit){ if(err){ console.log("current user " + err); } app.set('imgSource', result.profile_picture); app.use('/', routes); res.redirect('/'); }); }; 我应该从这个身份validation代码得到用户instaid? exports.handleauth = function(req, res) { api.authorize_user(req.query.code, redirect_uri, function(err, result) { if (err) { console.log(err.body); res.send("Didn't work"); } else { console.log('Yay! Access token […]

为什么快速的默认error handling程序捕获从可读stream发射时的错误?

我使用命令行express stream_test安装了样板快速应用程序。 我用下面的/routes/index.jsreplace了默认的/routes/index.js : var express = require('express'); var router = express.Router(); var ReadFile = require('./readFile.js'); /* GET home page. */ router.get('/', function(req, res, next) { var readFile = ReadFile(); readFile .on('data', function(data) { res.write(data); }) .on('end', function() { res.end(); }) .on('error', function(err) { console.log(err); }); }); module.exports = router; readFile.js只是fs.createReadStream一个简单包装: var Readable = require('stream').Readable; […]