【问题标题】:Push is not working in node js推送在节点 js 中不起作用
【发布时间】:2016-04-16 19:46:46
【问题描述】:

这里是代码

loginController.prototype.newUserValidation = function(name,email,username,password, callback){ 
    var errorMessage = {};
    var name = validator.trim(name);
    var email =validator.trim(email);
    var username = validator.trim(username);
    var password = validator.trim(password);

    if(!validator.isLength(name,1)){
         errorMessage.push("Name is required field");
    }
    if(!validator.isLength(email,1)){
        errorMessage.push("Email is required field");   
    } else if(!validator.isEmail(email)){
         errorMessage.push("Email is not valid");   
    }
    if(!validator.isLength(username,1)){
         errorMessage.push("username is required field");
    }
    if(!validator.isLength(password,1)){
         errorMessage.push("password is required field");
    }
    callback(errorMessage); 
}

这个错误来了:

对象#没有方法'push'

TypeError: Object #<Object> has no method 'push'
    at Database.loginController.newUserValidation (/home/vinove/Desktop/AshutoshJha/controller/login-controller.js:49:16)
    at module.exports (/home/vinove/Desktop/AshutoshJha/routes/index.js:166:14)
    at Layer.handle [as handle_request] (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/layer.js:95:5)
    at /home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/index.js:330:12)
    at next (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/index.js:271:10)
    at Function.handle (/home/vinove/Desktop/AshutoshJha/node_modules/express/lib/router/index.js:176:3)

【问题讨论】:

    标签: json node.js express ejs


    【解决方案1】:

    这是一个对象:

    var errorMessage = {};
    

    对象是一组键/值对:

    {
      "name": "john",
      "age" : 21
    }
    

    如果您希望能够将随机数据添加到变量中,则需要一个数组:

    var errorMessage = [];
    

    那么你的代码就可以工作了

    【讨论】:

      【解决方案2】:

      push 方法可用于数组数据类型。 在您的代码中,您正在定义 json
      var errorMessage={}。 内部是json。 这就是为什么它显示错误Object # has no method 'push'

      所以也摆脱这个错误只是改变

      var errorMessage = {};
      

      var errorMessage = [];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        • 2021-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        相关资源
        最近更新 更多