У меня две проблемы, во-первых, я хочу отправить данные на сервер методом httpclient post, и если все в порядке, я хочу отправить другой запрос post. У меня есть первая таблица (codeRole, nameRole), а во второй таблице (action, nameAction) в той же форме пользователь может создать роль и связать эту роль с одним или несколькими действиями, и все это будет зарегистрировано в table roleAction (id, codeRole, nameRole, action, nameAction), и я не знаю, как это сделать с Angular, ожидая вставки моей роли и затем вставляя действия роли одно за другим в третью таблицу.
мой код может быть таким:
<form
fxLayout="column"
fxFlexAlign="center center"
fxLayoutGap="10px"
#newRoleF="ngForm"
(ngSubmit)="onSubmitRoleF(newRoleF); newRoleF.resetForm({})"
[hidden]="!showRoleForm"
>
<!-- code role -->
<mat-label> Code Role</mat-label>
<mat-form-field>
<input
matInput
required
name="codeRole"
ngModel
>
</mat-form-field>
<!-- ******** fin code role *********** -->
<!-- nom role -->
<mat-label> Nom de role </mat-label>
<mat-form-field>
<input
matInput
required
name="nomRole"
ngModel
>
</mat-form-field>
<!-- ******** fin nom role *********** -->
<!-- Role actions -->
<mat-form-field>
<mat-label>Actions</mat-label>
<mat-select name="roleAction" ngModel multiple required>
<mat-option *ngFor="let action of droitActions" [value]="action">{{action.nom_action}}</mat-option>
</mat-select>
</mat-form-field>
<!-- ******** fin role actions *********** -->
<div fxLayout="row" fxLayoutGap="10px">
<button type="submit"
mat-raised-button
color="primary"
[disabled]="newRoleF.invalid"
>
Enregistrer
</button>
</div>
</form>
В файле .ts
onSubmitRoleF(newRoleF: NgForm) {
const val = newRoleF.value;
const params = {};
params['code_role'] = val.codeRole;
params['nom_role'] = val.nomRole;
params['role_action'] = val.roleAction
// first add the role
this.droitsS.addRole(params)
.subscribe(
(resultat) => {
// once the role added, start to add the role actions one by one, if the user choose two
// actions, I must do two httpclient post to add them
},
(error => {
console.log(error);
})
);
спасибо за вашу помощь