私はユーザーを作成するための管理機能をまとめています。ユーザーの作成の一部は、特定のデータベースへのアクセスをユーザーに提供することです。角2 - Http Postが未定義のエラーを返す
コードでは、私のWeb APIにユーザーを作成するためのポストを送ります。作成が成功すると、私はユーザーデータベースバインディングを追加します。
private createUserDatabases(createdUser: Users) {
console.log(JSON.stringify(createdUser));
if (this.isSuperAdmin && this.newUserDatabases.length > 0) {
var newUserDbs: UserDatabase[] = [];
for (var i = 0; i < this.newUserDatabases.length; i++) {
var newUserDatabase = new UserDatabase();
newUserDatabase.database_Id = this.newUserDatabases[i].id;
newUserDatabase.user_Id = createdUser.id;
newUserDbs.push(newUserDatabase);
//console.log("Getting ready to create");
//this.usersService.addUserToDatabase(newUserDatabase);
// .subscribe(
// data => console.log(JSON.stringify(data)),
// error => {
// this.alertService.error(error._body);
// console.log("userDb" + error._body);
// }
//);
}
console.log(newUserDbs);
return this.usersService.addUserToDatabase(newUserDbs);
//this.isOpened = false;
}
}
onSubmit() {
var createdUser: Users;
this.usersService.create(this.user)
.do(u => createdUser = u)
.flatMap(u => {
return this.createUserDatabases(u);
})
.subscribe(
data => {
console.log(JSON.stringify(data));
this.loadAllUsers();
this.isOpened = false;
},
error => {
this.alertService.error(error._body);
console.log(error._body);
}
)
}
データベースバインディングがオブジェクトの配列(文字列、文字列)として送信されています。私は選択したデータベースごとに個別の呼び出しとしてこれを試しただけでなく、すべての選択されたデータベースで1回の呼び出しを試みました。
はここしかし、私は未定義のエラーを受信し、サブスクライブのデータ=>の部分にそれを作るわけではない、希望や要求のどちらがエラーを返しているよう
create(newUser: Users) {
return this.http.post(this.config.apiUrl + '/api/accounts/create', JSON.stringify(newUser), this.jwt())
.map((response: any) => response.json());
}
addUserToDatabase(newUserToDatabases: UserDatabase[]) {
console.log(JSON.stringify(newUserToDatabases));
return this.http.post(this.config.apiUrl + '/api/userdatabases/create', JSON.stringify(newUserToDatabases), this.jwt())
.map((response: any) => response.json());
}
すべてが完了しているサービスです。私は、この設定がうまくいくことを暗示しているように見える多くの記事や吹き出しを見つけました。あなたのマップコードの使用以下
エラーは何ですか? –
これは未定義を示しています –