小编dev*_*pus的帖子

将表单数据序列化为JSON

我想在Backbone.js模型中对表单进行一些服务器前验证.为此,我需要将表单中的用户输入转换为可用数据.我发现了三种方法:

  1. var input = $("#inputId").val();
  2. var input = $("form.login").serialize();
  3. var input = $("form.login").serializeArray();

不幸的是,没有一个提供我需要的良好的可重用和可开发的JSON对象.我已经查看了Stack Overflow上的几个问题,但我发现只有一些额外的库.

不是Underscore.js,当前的jQuery或Backbone.js提供了一个帮助方法吗?

我无法想象没有这种功能的要求.

HTML

<form class="login">
    <label for="_user_name">username:</label>
    <input type="text" id="_user_name" name="user[name]" value="dev.pus" />
    <label for="_user_pass">password:</label>
    <input type="password" id="_user_pass" name="user[pass]" value="1234" />
    <button type="submit">login</button>
</form>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var formData = $("form.login").serializeObject();
console.log(formData);
Run Code Online (Sandbox Code Playgroud)

输出

{
    "name": "dev.pus",
    "pass": "1234"
}
Run Code Online (Sandbox Code Playgroud)

Backbone.js模型

var user = new User(formData);
user.save();
Run Code Online (Sandbox Code Playgroud)

jquery backbone.js underscore.js

208
推荐指数
11
解决办法
55万
查看次数

Express.js在控制器中获取http方法

我正在建立一个注册表(护照本地作为身份验证,形式为表单助手).

因为注册只知道GET和POST我想在一个函数中完成整个处理.

换句话说,我正在搜索以下内容:

exports.register = function(req, res){
    if (req.isPost) {
       // do form handling
    }
    res.render('user/registration.html.swig', { form: form.toHTML() });
};
Run Code Online (Sandbox Code Playgroud)

http node.js express

54
推荐指数
1
解决办法
4万
查看次数

如何将npm用于前端依赖?

我想问一下是否有可能(通常是一个好主意)使用npm来处理前端依赖(Backbone,jQuery).

我发现Backbone,jQuery等都可以通过npm获得,但我必须设置另一个提取点(默认是node_modules)或符号链接或其他...

有人曾经这样做过吗?

可能吗?

我需要改变package.json什么?

javascript package-managers node.js npm

39
推荐指数
3
解决办法
2万
查看次数

消息应用程序的MongoDB结构

我正在考虑一个处理消息应用程序的良好文档结构.

我基本上需要三种(或四种)对象:

  1. 用户(用户名,电子邮件,密码等)
  2. 联系人列表(包含不同的联系人或联系人组)
  3. 对话(对话是一些人之间的消息集合)
  4. 消息(包含消息正文,一些时间戳和创建者.)

我的想法是将联系人嵌入到用户文档中并将消息嵌入到对话文档中:

1.用户

{
    username: 'dev.puS',
    usernameCanonical: 'dev.pus', // used for unique constraints
    email: 'developement.pus@gmail.com,
    emailCanonical: 'developement.pus@gmail.com,
    salt: 'some hash',
    password: 'hash with salt',
    logs: { last_login: 12.06.2008, last_password_reset: 04.03.2007 },
    state: { online: true, available: false },
    contacts: [ user_id1, user_id2, user_id3 ]
}
Run Code Online (Sandbox Code Playgroud)

2.会话

{
    members: [ user_id1, user_id2 ],
    messages: [
        { author: user_2, body: 'Hi what's up' },
        { author: user_1, body: 'Nothing out here :(' },
        { author: user_2, body: …
Run Code Online (Sandbox Code Playgroud)

mongodb database-schema bson

26
推荐指数
2
解决办法
2万
查看次数

Mongoose ODM,在保存之前更改变量

我想为我的用户文档创建一个带有Mongoose的模型层,它可以:

  1. 验证(唯一,长度)
  2. 规范化(用户名和电子邮件转换为小写以检查唯一性)
  3. 盐生成
  4. 密码哈希
  5. (记录)

在持久化到db之前,需要执行所有这些操作.幸运的是,mongoose支持验证,插件和中间件.

不好的是我找不到关于这个问题的任何好材料.mongoosejs.com上的官方文档太短了......

有没有人有一个关于Mongoose预处理的例子(或一个完整的插件,如果它存在的话)?

问候

mongoose node.js express odm

17
推荐指数
3
解决办法
2万
查看次数

HTTP Patch XmlHttpRequest支持

我正在研究一些todo应用程序,并希望使用HTTP方法PATCH来添加和删除todo,因为这在语义上优于PUT.

在后端我使用express.js(node.js)和前端backbone.js(使用jQuery for ajax).

我已经尝试过,如果它实际上在我的本地开发套件(Archlinux,Chromium 20,node.js 0.8,express 2.X)的后端和前端工作,它工作:

app.js

app.patch('/todo/:id', function(req, res){
    console.log('patch successfull');
}
Run Code Online (Sandbox Code Playgroud)

铬网控制台

$.ajax({ 
    url: '/messages/4ff13720f00e2e2c4b000006',
    type: 'PATCH',
    data: { body: 'that is a patched message' } 
});
Run Code Online (Sandbox Code Playgroud)

提到了请求,并且尽可能没有例外地提供数据库操作.

我现在想知道其他浏览器如何支持补丁方法.我看了谷歌,但很难找到一些东西,因为PATCH有多重含义......

browser jquery node.js express

15
推荐指数
1
解决办法
5040
查看次数

Twitter Bootstrap:列之间没有边距

我想删除bootstrap中跨距之间的边距.

一个想法是只用零边距和填充覆盖css属性.这是一个例子:http://jsfiddle.net/kKEpY/3/

没有例外,左列浮动到右侧,它可以工作,但我更喜欢直接引导解决方案.那么bootstrap是否提供了一个清除列边距(span-fluid)的属性?

问候

css layout twitter-bootstrap

13
推荐指数
2
解决办法
2万
查看次数

Twitter-Bootstrap:导航栏中的登录表单

我想在Twitter导航栏中放置登录内联表单.

我已经做到了这一点,但我没有设法推动表格正确... http://jsfiddle.net/v34Sv/

所有的Twitter组件(span,offset,pull-right)都失败了,我担心在使用绝对位置时会丢失响应组件.

twitter-bootstrap

10
推荐指数
2
解决办法
4万
查看次数

如何使用加密创建random-salt-hash

我想使用node.js crypto lib创建一个salt-hash,而不必解析任何硬编码数据.

硬编码我的意思是什么?

var salt, hardcodedString = "8397dhdjhjh";
crypto.createHmac('sha512', hardcodedString).update(salt).digest("base64");
Run Code Online (Sandbox Code Playgroud)

如果不使用原始javascript,随机函数或硬编码,我怎么能创建一个随机字符串?

问候

UPDATE

var Crypto = require('crypto')
    , mongoose = require('mongoose');

module.exports = mongoose.model('User', new mongoose.Schema({
    username: {
        type: String
        , required: true
        , index: { unique: true, sparse: true }
        , set: toLower
    },
    email: {
        type: String
        , required: true
        , index: { unique: true, sparse: true }
        , set: toLower
    },
    salt: {
        type: String
        , set: generateSalt
    },
    password: {
        type: String
        , set: encodePassword …
Run Code Online (Sandbox Code Playgroud)

javascript cryptography node.js node-crypto

10
推荐指数
1
解决办法
2万
查看次数

为什么JavaScript库不使用错误处理

我查看了underscore.js和backbone.js这两个非常流行的库并注意到它们不使用错误处理(try,catch,exception).

这个决定的原因是什么?

javascript error-handling backbone.js underscore.js

9
推荐指数
1
解决办法
1019
查看次数