Articles of 方法

Express.js:对象#<IncomingMessage>没有方法“调用”

安装Express.js后,我在节点上写了这个: var express = require('express'), app =express.createServer(); app.configure(function(){ app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(express.router); }); app.get('/', function(req, res){ res.send('hola mundo'); }); app.listen(3020); console.log('Hola Mundo'); 当我启动应用程序时,我可以看到“Hola Mundo”的消息,但是当我提出请求时,我收到了这个消息: TypeError: Object #<IncomingMessage> has no method 'call' at Object.router [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/router.js:96:6) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at Object.bodyParser [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:88:61) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at Object.methodOverride [as handle] (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5) at next (/home/alumno/Escritorio/nodejs/node_modules/express/node_modules/connect/lib/http.js:203:15) at […]

Node.js:methodOverride不起作用

在服务器端: var express = require('express'); var app = express(); app.listen(8000); app.configure(function(){ app.use(express.methodOverride()); }); app.put('/update', function (req, res) { res.send("update!"); }) 我想testingput方法 在客户端: <form action="/update"> <input type="hidden" name="_method" value="put"/> <input type="submit" value="submit"> </form> 但结果是 Cannot GET /update?_method=put 所以,我的代码有什么问题?

JavaScript和NodeJS:从不同的JS文件调用方法

我正在使用NodeJS包含一个js文件到另一个。 下面我显示我的文件。 这两个类都包含两个对象的构造函数。 我想从ClassA中调用ClassB中的一个方法。 在ClassA中,我需要ClassB(如下所示),我试图创build一个新的B类实例,然后调用B类的方法获得以下错误: cB.get(); ^ TypeError: Cannot call method 'get' of undefined at Object.<anonymous> (/home/—/ClassA.js:12:4) //ClassA.js var imported = require('./ClassB'); function ClassA() { //…. } var cA = new ClassA(); var cB = imported.ClassB(); cB.get(); //ClassB.js function ClassB() { var myVar = 'test'; function _get () { return myVar; }; this.get = function […]

Node.JS / Mongoose / Express – >对象没有方法“findAll”

我试图从我的model.js传递一个方法到我的route.js ..而我的路线找不到任何方法! 我search了一个解决scheme,并testing了很多代码,没有成功。 我是Node的初学者,如果这是一个愚蠢的错误,那么很抱歉。 这是我的代码的一部分: Route.js var mongoose = require('mongoose'); var membersModel = new require('../models/MemberModel'); // Member list page exports.list = function(req, res){ membersModel.findAll(function(err, docs){ res.render('list.jade', { title: 'My Registration App – Member list', member: docs }); }); }; MemberModel.js var mongoose = require('mongoose'), Schema = mongoose.Schema, ObjectId = Schema.ObjectId; // Open DB connection var […]

NodeJS:扩展Class和__construct方法

我将我的系统从PHP迁移到NodeJS,我有以下疑问: 在PHP中,我有class class Users extends Groups { function __construct(){ parent::__construct(); //do something } } 但是,如何在Javascript / NodeJS(ExpressJS)中做到这一点? 我认为这是扩展,但我如何定义__construct方法? 什么是在类实例的开始将调用的方法的名称,如在PHP中? var utils = require('utils'); var Groups = require('./groups.js'); var Users = function(){ //where is the __construct?? }; util.inherits(Users, Groups);

在服务器上运行一个asynchronous的方法

我有一个meteor服务器方法,执行一个函数,我想在后台运行。 我希望服务器方法继续,而函数运行在不同的过程中。 方法: myMethod: function(arg) { _event.emit("myEvent",args); …do some other stuff } 我希望服务器做其他的事情,并返回到客户端,并在后台执行_event.emit中的东西,没有结果必须发回客户端。 它目前所做的是在_event.emit中运行这些东西,然后返回到客户端。 我尝试通过在服务器端调用一个空的callback函数来解决这个问题,但这并没有办法 myMethod: function (arg) { return Meteor.call("secondMethod", _.toArray(arg), function() {}) } secondMethod: function (arg) { _event.emit("myEvent",args); } 希望有人知道这个解决scheme。 谢谢

在Javascript类中调用另一个方法

在Javascript中定义一个类时,如何从另一个方法调用一个方法? exports.myClass = function () { this.init = function() { myInternalMethod(); } this.myInternalMethod = function() { //Do something } } 上面的代码在执行时给了我下面的错误: ReferenceError:myInternalMethod未定义 我也试过this.myInternalMethod和self.myInternalMethod,但都导致错误。 什么是正确的方法来做到这一点?

meteor:如何防止客户访问方法

所有的meteor方法都可以从客户端和服务器端调用。 比方说,用户知道或可以预测服务器上的所有方法名称,然后他可以调用它们并使用它的结果,但他想要的。 例如:执行跨域http请求和返回响应的方法可以用来通过调用大量数据来重载服务器Meteor.call(httpLoad, "google.com"); ,或者从mongo加载数据的方法可以用来访问数据库文件,如果客户端知道文件_id Meteor.call(getUserData, "_jh9d3nd9sn3js"); 。 那么,如何避免这种情况,可能存在一个比Meteor.methods({…})更好的存储仅限服务器的函数的方法呢?

crypto-js如何隐藏类方法?

从这开始 import crypto from 'crypto-js' global.crypto = crypto 当我从浏览器控制台访问encryption时,我得到以下错误 crypto['AES'].encrypt('MyString', 'pass').toString() // Uncaught TypeError: Cannot read property 'encrypt' of undefined(…) 但是当我从Node访问它的时候,它的工作原理是-_- crypto['AES'].encrypt('MyString','pass').toString() // Encrypted String Crypto JS如何做到这一点? 不能直接从浏览器访问,而是在节点访问?

JavaScript – 如何列出对象的属性?

有没有办法列出一个对象(甚至可能是一个函数)的所有属性,包括不可枚举的,但不使用Object.getOwnPropertyNames或Object其他方法? 所以,例如,我需要获取本地String构造函数( fromCharCode , fromCodePoint , raw等)的所有属性,但是我不允许使用来自Object本地函数getOwnPropertyNames 。 有没有办法做到这一点? 我试过for..in和for..of循环,但不是所有的属性都列出。 另外,我已经尝试了Object.keys ,但是又一次,并没有列出所有的属性。 另外,要清楚我要求的是什么:以下是不允许的: var a = Object.getOwnPropertyNames.bind(Object); console.log(a(String)); 我在问这个,因为我正在玩一些游戏(称为ElevatorJS ),用户在这里写一个JavaScript程序,在受限制的条件下实现某些function。 在这个特定的条件下, getOwnPropertyNames方法被重写并且等于null ,所以我们不允许使用它。 但是,事实certificate,他们已经隐藏了一些非可枚举的属性在String构造函数中作为一个属性,所以我必须以某种方式访问​​它。 另外,它们也覆盖了Object其他方法(如entries , getOwnPropertyDescriptors等)。 有没有办法做到这一点? 先谢谢你。