Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript I';我无法使用FormGroup 6发出post请求_Javascript_Html_Angular_Forms_Typescript - Fatal编程技术网

Javascript I';我无法使用FormGroup 6发出post请求

Javascript I';我无法使用FormGroup 6发出post请求,javascript,html,angular,forms,typescript,Javascript,Html,Angular,Forms,Typescript,我是angular的新手,我无法使用formGroup发出post请求。正在为我拥有的所有字段发送正文。但是,由于以下错误,出现错误400(错误请求):{“状态”:“错误”,“错误”:{“消息”:"在上一个操作完成之前,在此上下文上启动了第二个操作。这通常是由使用同一DbContext实例的不同线程引起的,但是实例成员不能保证是线程安全的。如果是这种情况,也可能是由客户端上正在求值的嵌套查询引起的重写查询嵌套调用。“}},我有点理解错误是关于什么的,但我不理解我的代码有什么问题。提前谢谢 reg

我是angular的新手,我无法使用formGroup发出post请求。正在为我拥有的所有字段发送正文。但是,由于以下错误,出现错误400(错误请求):{“状态”:“错误”,“错误”:{“消息”:"在上一个操作完成之前,在此上下文上启动了第二个操作。这通常是由使用同一DbContext实例的不同线程引起的,但是实例成员不能保证是线程安全的。如果是这种情况,也可能是由客户端上正在求值的嵌套查询引起的重写查询嵌套调用。“}},我有点理解错误是关于什么的,但我不理解我的代码有什么问题。提前谢谢

register.model.ts

export class User{
    FirstName: string;
    LastName: string;
    UserName: string;
    Email: string;
    Password: string;
}
register.service.ts

RegisterUser(user: User){
return this.http.post('url', user);
}

register.component.html

<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">

  <div class="form-group row">
    <label class="col-sm-3 col-form-label">First Name:</label>
    <div class="col-sm-3">
      <input type="text" formControlName="FirstName" class="form-control"
        placeholder="First Name" ngModel>
    </div>
  </div>
  <div class="form-group row">
    <label class="col-sm-3 col-form-label">Last Name:</label>
    <div class="col-sm-3">
      <input type="text" formControlName="LastName" class="form-control"
        id="LastName" placeholder="LastName" ngModel>
    </div>
  </div>
  <div class="form-group row">
    <label for="UserName" class="col-sm-3 col-form-label">Username:</label>
    <div class="col-sm-3">
      <input type="text" formControlName="UserName" class="form-control"
        placeholder="User Name" ngModel>
    </div>
  </div>
  <div class="form-group row">
    <label for="Email" class="col-sm-3 col-form-label">Email:</label>
    <div class="col-sm-3">
      <input type="email" formControlName="Email" class="form-control"
        placeholder="example@example.com" ngModel>
    </div>
  </div>

  <div class="form-group row">
    <label for="password" class="col-sm-3 col-form-label">Password:</label>
    <div class="col-sm-3">
      <input type="password" formControlName="Password"  class="form-control"
        placeholder="*********" ngModel>
    </div>
  </div>

  <br>

  <p class="text-center">Already have an account? <span>
      <button (click)="goToSignIn();" class="unstyled-button">Sign In.</button>
    </span></p>

  <button type="submit" class="button button4">Sign Up</button>
</form>
试着这样做:

registerUser(user) : Observable<any> {
return this.http.post<any>('url', JSON.stringify(user), this.httpOptions).pipe(
    tap((user) => console.log(`user sent : ${JSON.stringify(user)}`)),
    catchError(this.handleError)
  );
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
})

对于捕获错误:

handleError(error) {
let errorMessage = '';
if(error.error instanceof ErrorEvent) {
// Get client-side error
errorMessage = error.error.message;
} else {
// Get server-side error
errorMessage = `Error Code: ${error.status}\nMessage: ${error.message}`;
}
window.alert(errorMessage);
return throwError(errorMessage);
}
试着这样做:

registerUser(user) : Observable<any> {
return this.http.post<any>('url', JSON.stringify(user), this.httpOptions).pipe(
    tap((user) => console.log(`user sent : ${JSON.stringify(user)}`)),
    catchError(this.handleError)
  );
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
})

对于捕获错误:

handleError(error) {
let errorMessage = '';
if(error.error instanceof ErrorEvent) {
// Get client-side error
errorMessage = error.error.message;
} else {
// Get server-side error
errorMessage = `Error Code: ${error.status}\nMessage: ${error.message}`;
}
window.alert(errorMessage);
return throwError(errorMessage);
}

这不是您遇到的javascript错误。这是来自实体框架的错误

您的DBContext同时被两个线程使用。可能是同一请求中的两个线程使用了它

检查DBContext是否由于某些原因而声明为静态


您需要共享您的api代码,以便我们调试您的问题。

这不是您遇到问题的javascript错误。这是来自实体框架的错误

您的DBContext同时被两个线程使用。可能是同一请求中的两个线程使用了它

检查DBContext是否由于某些原因而声明为静态


您需要共享您的api代码,以便我们调试您的问题。

感谢您的回复,事实上我仍然收到相同的错误,顺便说一句,当我没有使用formGroup时,它工作正常,我使用的是ngModel,然而,当我尝试使用formGroup时,它出现了这个错误谢谢您的回复,事实上我仍然收到了同样的错误,顺便说一句,当我没有使用formGroup时,它工作了,我使用的是ngModel,然而,当我尝试使用formGroup时,它出现了这个错误谢谢你的回答,实际上它在以前工作时,我没有使用formGroup,我没有更改代码中的任何内容,只是删除了ngModel并使用了foRMGROUP您是否将控制台的有效负载与这两种方法进行了比较?我的猜测是,您发送的不同数据会影响后端代码的执行。因为我们没有这两种方法,所以我们无法为您执行。如果您发布有效负载,那么我们可以假设为什么我确信api没有问题有效负载是指当我从控制台获取数据并将其粘贴到Postman时,所有操作都会将您的代码还原到ngModel,然后再次并排检查您发送的内容。不仅是有效负载,还有标题。我的想法是,某些筛选器或数据未正确发送,因此后端出现故障。然后您正在编写一些内容r数据库(可能错误)使用相同的db上下文失败。如果我是你,我会在api代码中添加一个断点并检查那里发生了什么。好的,这已经解决了,我按照你说的做了,我发现问题是我无法在登录时注册用户,所以我必须清除会话才能注册新用户谢谢你的回复nse,实际上它以前在我不使用formGroup时工作,我没有在代码中更改任何内容,只是删除了ngModel并使用了formGroup。您是否将控制台中的负载与这两种方法进行了比较?我猜您发送的数据不同,会影响后端代码的执行。因为我们没有两者都有,那么我们就不能为你做。如果你发布有效负载,那么我们可以假设为什么api的有效负载没有问题,原因是当我从控制台获取数据并将其粘贴到Postman时,所有工作都会将你的代码还原到ngModel,然后并排检查你发送的内容。不仅有效负载我的想法是一些筛选器或数据没有正确发送,因此后端出现了一些问题。然后,您在数据库中写入了一些内容(可能是错误)使用相同的db上下文并失败。如果我是你,我会在api代码中添加一个断点,然后检查那里发生了什么。好的,这已经解决了,我按照你说的做了,我发现问题是我无法在登录时注册用户,所以我必须清除会话才能注册新用户