2016-05-13 3 views
0

role + passを持つユーザーを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

レベルデータベースにユーザーを挿入したいとします。これは角度とURLのコントローラコードの一部です: '/ addUser'は、新しいユーザを挿入するためのモデルとなるURLです。 [WriteError:put()はキー引数が必要です]というのは、モデルがレベルデータベースのキーを必要としているということです。問題は、角度コントローラの構造が方法ではないということです。モデルで私はこれを持っています:context.db.put(username、{password、role} –

答えて

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); 
      } 
      }); 
     }); 
     } 
関連する問題