Articles of jquery

在mongodb中列出Moustache.js和bson数据

嗨,我是新来的小胡子,最近一直在玩它。 我喜欢它的简单性以及它如何专注于演示。 没有逻辑! 在node.js中使用mongodb和mongoose时,我要求一个名为products的集合。 目前我正收到collections中的所有文件,因为它非常小。 显示这些数据时,我想使用小胡子的列表function。 <script id="listTemplate" type="text/html" > {{#.}} <div class="singleItem"> <div class="title">{{title}}</div> <div class="description">{{description}}</div> </div> {{/.}} </script> 我使用的BSON响应是: [ { "title": "item", "description": "All about the details. Of course it's black.", "style": "12345", "_id": "5116874d2ac8dc2804000001", "__v": 0, "modified": "2013-02-09T17:28:45.000Z" }, { "title": "item", "description": "All about the details. Of course it's black.", […]

需要在节点中使用jQuery

我有一个节点,在窗口上的mongodb设置,并在开发一个Web应用程序。 在server.js文件中,我有一个类似这样的post路线: var http=require('http'); app.post("/leadAPI/ed",function(request,response){ var data={firstname:request.body.firstname,lastname:request.body.lastname,email:request.body.email,areaOfInterest:request.body.areaOfInterest,highestEducation:request.body.highestEducation,daytimePhone:request.body.daytimePhone,eveningPhone:request.body.eveningPhone,addressOne:request.body.addressOne,addressTwo:request.body.addressTwo,city:request.body.city,state:request.body.state,zip:request.body.zip,country:request.body.country}; edDoc=new edModel(data); edDoc.save(); var options={ hostname:'www.someRemoteUrl.com', port:80, path:'/some/path/on/that/url?'+$.param(data), method:'POST' }; var req=http.request(options,function(res){ console.log(res); }); }); 这是行不通的,因为$(param)不会在没有npming jquery的节点上运行。 问题是在windows上安装jquery包的节点没有正确安装。 有没有其他的方法? 我需要以一种干净的方式从该对象中构build一个查询string。

jQuery库通过恩德

我已经尝试将jquery构build成ender.js。 ender build jquery 该库已正确安装,但我看到很多依赖我不需要。 是我可以embedded通过恩德或打算从Node.js使用的版本的jQuery的最小版本? 非常感谢你。

避免HTML和脚本标记呈现

我一直在聊天框工作,我使用Node.js + socket.io进行客户端 – 服务器通信,所以我不能执行PHP代码(我读过这是可能的,但不build议和难以实现)。 除非用户使用HTML或脚本标记发送消息,否则一切正常。 我试图用我在这里find的函数删除这些标签。 它工作正常,但只为HTML标记,然后我想:嗯,我可以首先使用正则expression式删除脚本标记。 像这样的东西 .replace(/<script.*>.*<\/script>/ims, " ") 然后删除HTML标记,但是我不确定这种方法是否有黑客validation, 并且每个消息发送的过程都是很多的。 有什么forms的附加文本$("#div").append(message); 而不呈现HTML / JavaScript代码? —就像在twitch.tv那里打印文本一样,如果你用HTML / JS / PHP代码发送消息,就会像打字的方式一样打印消息。 或者,有没有其他的方式来删除标签? 谢谢你的时间。

node.js + express:`sendfile`给Ajax请求给404

节点noob在这里。 :)我正在用代码发出一个Ajax请求 var path = "/path/to/file.html"; $.get(path, function(data) { $("#post").html(data); }); 并在服务器端,响应 app.use(express.directory(__dirname + '/public')); app.get('/path/*', function(req, res) { var is_ajax_request = req.xhr; if(is_ajax_request) res.sendfile(req.path); else res.sendfile('public/index.html'); }); 实际文件位于public/path/to/file.html 。 出于某种原因,Ajax给我的错误 GET http://localhost:3000/path/to/file.html 404 (Not Found) 即使path是正确的。 事实上,如果我删除了整个app.get函数,它发现文件没有问题。 有没有另外一种方法来回应Ajax请求?

JQuery的UIsorting索引更改重新sorting列表

我正在尝试使用socket.io和node.js允许2个用户同时查看JQuery UI可sorting列表。 我希望两个用户列表在一个用户进行更改时进行更新。 这是我现在拥有的: client.js $("#layerColumn").on( "sortstop", function( event, ui ) { // Send new list of layers to everyone socket.emit('moveLayers', ui.item.attr('id'), ui.position); }); socket.on('moveLayer', function(layer, position) { $('#'+layer).offset(position); $(".layerColumn").sortable( "refreshPositions" ); }); server.js socket.on('moveLayers', function(layer, position) { socket.broadcast.emit('moveLayer', layer, position); }); 这会移动第一个用户列表中的项目,但不会将它们重新排列在第二个用户列表中,只是将它们放在第一个用户“放置”它们的位置。 有任何想法吗? 谢谢! 编辑05/08/2013: 将此移至ANSWER。 如果你知道有什么办法可以做得更好,请让我知道,因为我仍然感兴趣。

使用Node.js遍历XML文档最快捷的方法?

从类似的问题,我发现了XPath ,它看起来非常快,但我不能用Node.js: > var xp = new XPathEvaluator(); ReferenceError: XPathEvaluator is not defined at repl:1:14 at REPLServer.self.eval (repl.js:110:21) at repl.js:249:20 at REPLServer.self.eval (repl.js:122:7) at Interface.<anonymous> (repl.js:239:12) at Interface.EventEmitter.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at Interface._ttyWrite (readline.js:760:14) at ReadStream.onkeypress (readline.js:99:10) 我可以以某种方式安装它作为一个模块? 还是有其他的select? 问题是我正在下载几个RSS提要总共约900条目。 我正在下载它们不到一秒钟,但用jQuery迭代每个元素 $(xml).find('entry').each(function() { }); …需要10-15秒,这是一个Web服务是不能接受的。 有什么build议么?

express.js应用程序不会回应

这里是一个快递服务器代码: var express = require('express'); var mysql = require('mysql'); var app = express(); app.use(express.bodyParser()); app.use(express.static('public')); var connection = mysql.createConnection({ host : 'localhost', user : 'someuser', password : 'somepassword', database: 'some_database' }); connection.connect(); app.get('/users/authenticate', function(req, res){ res.setHeader('Content-Type', 'application/json'); res.send({test:"test"}); res.end(); }); app.listen(3000); console.log('Listening on port 3000'); 现在,当我发出一个获取请求到这个API,我没有得到任何响应的networking控制台选项卡,虽然响应代码是200 OK。 请说明一下。 我期望JSON数据在这里。 这是我在我的控制台中得到的:

姜饼浏览器跨域响应串联错误

我们发现Gingerbread默认浏览器处理跨域请求的方式与大多数其他浏览器不同。 服务器代码适当地响应OPTIONS调用,所有正确的头文件访问控制头文件和一个200状态代码,并用200状态代码和适当的主体响应POST调用。 服务器是用Node编写的,使用Express,对于这个testing来说是非常小的: var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app); // middleware app.use(express.logger('dev')); app.use(function(req, res, next) { var origin = req.get('origin'); if (origin) { res.header({ 'Access-Control-Allow-Origin': origin, 'Access-Control-Allow-Methods': 'GET,POST,OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Allow-Credentials': true }); } if (req.method === "OPTIONS") return res.send(200); if (req.method !== "GET" && […]

TypeError:Object#<HTMLDivElement>没有方法'css'w / Express.js

尝试通过Chrome控制台更改jQuery中的div元素的CSS并获取此响应: $('#first-block').css('color','green') TypeError: Object #<HTMLDivElement> has no method 'css' 但是,当我打电话 $('#first-block') 控制台返回div和它的内容 我正在使用Express.js w / MongoDB,利用Expresscaching中间件。