2016-05-13 62 views
0

我需要添加一个角色+传递给leveldb的用户。这是添加项目的代码:将一个元素发布到AngularJS

$scope.addItem = function() { 
    $scope.username; 
    $http({ 
     method: 'POST', 
     url: '/addUser', 
     key: { 
      username: $scope.username, 
      params: { 
       value: { 
        password: $scope.password, 
        role: $scope.role 
       } 
      } 
     } 
    }).then((result) => { 
     $scope.getAllItems(); 
    }).catch((reason) => { 
     console.log(reason); 
    }) 
};  

如何使控制器中的结构?控制台返回:

[WriteError: put() requires a key argument]

+0

这是抛出错误的代码的一部分?错误中的任何行信息?另外,我并不确定明白你想做什么,我想这是更大项目的一部分,你能解释一下吗? – kazu

+0

我想在一个关卡数据库中插入一个用户。这是角度和网址中控制器代码的一部分:'/ addUser',是要插入新用户的模型的网址。 [WriteError:put()需要一个关键参数]它指的是模型需要关卡数据库的关键字。问题在于角度控制器中的结构不是这样。在模型中我有这样的:context.db.put(用户名,{密码,角色} –

回答

0

key不是有效$http PARAM。您必须使用data键在您的请求正文中设置您的对象:

$http({ 
    method:'POST', 
    url:'/addUser', 
    data:{ 
     username:$scope.username, 
     password: $scope.password, 
     role: $scope.role 
    } 
}); 
0

以下是模型的代码。/adduser

module.addUser = (username, password, role) => { 
    return new Promise ((resolve, reject) => { 
     context.db.open(); 
       context.db.put(username, 
       { 
       password, 
       role 
       }, 
       (err) =>{ 
      if (err) { 
       reject(err); 
      } 
      else { 
       context.db.close(); 
       resolve({role: role, password: password}); 
       console.log(password, role); 
      } 
      }); 
     }); 
     }