Articles of jquery

TryCatch Decorator不捕捉错误

以下tryCatch装饰器无法捕获错误。 const TryCatchWrapper = (target, key, descriptor) => { const fn = descriptor.value; descriptor.value = (…args) => { try { fn.apply(this, args); } catch (error) { console.log('Entered Catch—–>'); const [,, next] = args; next(error); } }; }; 尝试在以下课程中使用 – class CustomerDetails { @TryCatchWrapper async getCustomerSummary(req, res, next) { throw new Error('Whoops!!!'); } } 问题: – […]

是否有可能使用Nodejs和Socket.io更新页面的单个部分?

我正在尝试创build一个基本的Node应用程序,每当客户端连接时,我想更新页面上显示的计数器。 (我的目标是创build这个应用程序的最简单,可学习的forms来演示节点给我的讲师)。 服务器端应用程序片段: build立连接 var clients = 0; io.sockets.on('connection', function (socket) { socket.on('connect', function () { clients += 1 }); socket.on('disconnect', function(){ clients -= 1 }); }); 呈现页面 app.get(navigation.chat.page, function(req, res){ res.render('chat', { title: navigation.chat.title, connected: clients }); }); 聊天页面jade模板片段: span#client_count #{connected} | connected clients 客户端的jQuery,Socket.io和JavaScript var socket = io.connect('http://localhost'); $(document).ready(function(){ socket.on('connect', socket.emit('connect')); }); 问题:连接的客户端数量仅在页面刷新时更新。 […]

node.js:jsdom的问题 – jQuery对象返回undefined

我有兴趣为一个项目做一些服务器端DOM操作,所以我决定看看node.js ,特别是在jsdom 。 我对node.js完全陌生,所以可能我的错误是显而易见的,但从来没有我不能find解决scheme,我的问题在任何地方… 首先,我在本地运行Windows上的节点,并使用在线IDE Cloud9 值得一提的是,由于所需的依赖关系文档不能在Windows下编译(需要C ++和Python,而且我发现npm不支持构buildC ++包),所以我得到了麻烦,安装了最新的jsdom节点包(0.2.15) 。 所以我采取了两种替代方法: 我已经安装了一个不依赖于symxtify的旧版本,即jsdom@0.2.1 。 这里是我目前有的npm列表 └─┬ jsdom@0.2.1 ├── cssom@0.2.5 ├── htmlparser@1.7.6 └── request@2.10.0 当我试图运行简单的testing脚本从jsdom github回购 cloud9返回此警告 The "sys" module is now called "util". It should have a similar 我试图解决这个问题,replace所有提到的系统为util,错误消失…(仍不太确定这是正确的事情虽然…)。 所以,最后当我试图运行这个片段 var jsdom = require("jsdom"); jsdom.env("http://nodejs.org/dist/", [ 'http://code.jquery.com/jquery-1.5.min.js' ], function(errors, window) { console.log("there have been", window.$("a").length, "nodejs […]

刷新表信息,而不是追加

我会自己解释jquery插件的function,但是网站肯定比我能做得更好,大部分看起来相当简单的插件 http://tablesorter.com/docs/ 我使用这个插件过滤我的表后,他们生成,工作正常。 问题是表是实时更新,并在表过滤后,如果收到新的更新,然后再次筛选表,数据重复。 我一直在寻找它,看起来这个插件build立了一个允许数据被过滤的信息caching。 我想要做的是删除caching,并在每次更新时重新创buildcaching,防止重复信息被附加到表数组。 客户端javascript: function appendTables(appendData, index) { var tabPage = "#tabpage_"+index+" > #myJobs_"+index+" > .userJobs"; userJobsElement = $(tabPage); userJobsElement.empty(); userJobsElement.append(appendData); applySortTable(); } 这部分使用一个dynamic的id和两个标准的表格来生成多个表格: function applySortTable() { var tables = $('table'); tableCount = tables.length-2; $("#myJobs_all").tablesorter(); $("#myJobs_noteam").tablesorter(); for (var i = 0; i < tableCount; i++){ $("#myJobs_"+ i).tablesorter(); } 该表然后生成使用插件,正如我所说的创build一个caching,有没有人知道如何清除caching,然后重build,当这种情况发生在用户? 更新 数据的更新现在正在工作,但是目前我们已经build立了一个基于标签的表系统来查看不同的团队信息。 当更新被处理时,表只会在第一个表中更新,其他表停止工作,任何人都知道如何处理这个?

Node.js / Express:防止直接从URL加载AJAX HTML片段

我正在用Node.js,Express和MongoDB构build博客。 在主页上我有一个button来加载更多的职位。 这工作正常,我用下面的代码完成它: jQuery的 $("#load-more-posts").click(function() { $.ajax({ url: '/load/posts/', type: 'get', dataType: 'html', success: function(data) { $("#primary").append(data); }, data: {"passLastDate": lastDate} }); return false; }); 这是app.js中的路线 app.get("/load/posts", routes.loadPosts); 这里是观点: loadPosts: function(req, res) { var lastDate; lastDate = req.query.passLastDate; return Post.find({ "published": true, "publish_date": { $lt: lastDate } }).sort('-publish_date').limit(1).execFind(function(err, posts) { if (posts === []) { […]

Node.js中的Spoof Origin头文件

我有一个运行express.js服务器。 我试图为它写几个testing,以确认未来的其他人可以在其上工作的标准行为。 服务器专门处理请求的标题,引用者和来源字段。 使用JQuery的ajax方法,我能够发送一个Ajax请求到服务器。 我发现我能够设置引荐领域。 但是,我似乎无法确定原点。 有没有什么办法来欺骗node.js的起源? 编辑:为了澄清,我不是通过浏览器运行此代码,而是从命令行。 通常情况下,ajax调用将从网页运行,但由于我正在编写从Mocha运行的testing,因此不会设置原点。

带有node.js / jade的Ajax

我正在寻找一种方法来使用在node.js上运行的ajax,express和jade作为模板引擎,而无需路由到子页面。 我读了这个: Node,Express,Ajax和Jade示例 但是这对我不起作用。 我不想让页面的部分path,所以用户可以访问部分页面。 我只是想在网站的一部分提供一个convertet玉文件。 我想这样的事情: $( ".trigger" ).on( "click", function() { $( ".result" ).load( "ajax/test.jade" ); }); 我怎样才能做到这一点,而不需要在node.js中设置路由,这样用户就可以在不访问整个页面的情况下访问子页面。 谢谢您的回答。

使DerbyJS只重新渲染某些DOM节点

DerbyJS( http://derbyjs.com )目前似乎能够工作的方式是,只要您点击一个链接,它就会replace文档正文标签中的所有内容。 有没有反过来说使用模板,而是用#而不是整个身体来代替#主要内容的内容? 左侧导航是固定的,不需要实时交互的好处。 为什么这是一个问题,需要在页面加载上运行一些Javascript来根据用户浏览器窗口的大小设置一些容器的大小,一旦我点击一个链接,这个设置就会被擦除和重新创build,当然, Javascript不会再运行,因为文件本身并没有刷新,只是正文。 这也可以让我写大部分更好的jQuery绑定, $('element').click( ,而不是$('html').on('click','element', … 任何想法,或者在这个时候对于这个框架来说这个步骤太过分了? PS因为我只是刚刚开始使用Derby,而且一般的实时框架,或许我想要做的不是最好的练习呢? 我select了Derby,因为我喜欢在服务器上初始渲染的UX部分,其余部分在客户端,但共享路由器,这减less了代码的重复。 打开任何更好的方式来实现这一目标。

MongoDB:如何从json数据中find一个值?

我正在与mongodb合作,并希望从json数据中find一个值。 我的json数据如下所示: { "_id": ObjectId("5306d69f80b1027ad2653dad"), "Tests": [{ "_id": "52fda07f1e905ec468d93c29", "names": "Art Test", "script": "regression/purchase-back-forwd" }], "browser": ["GC"], "creationTime": ISODate("2014-02-21T04:31:27.883Z"), } 从这我必须找出Tests.names 。 我用这个,但它不工作。 这里乔布斯是桌子 db.Jobs.find({Tests.names:"Art Test"})

Node.js – 当使用json.stringify时,Body会搞砸

客户: $.ajax({ url: some_url, type: 'post', dataType: 'json', data: JSON.stringify({myArray: []}) … } $.ajax({ url: some_url, type: 'post', data: {myArray: []} … } 服务器: var app = express(); app.use(bodyParser()); // body-parser module app.use(function(req, res, next){ console.log(req.body); // When stringified, prints: { '{"myArray":': { ']': '' } } // When not stringified, prints: {} }); 我明白,因为我的数组是空的,它不是张贴,但我完全困惑,为什么输出是如此搞砸了串化。 […]