使用POST方法时Angular 6中的TypeError循环对象值

时间:2018-10-15 11:04:46

标签: json angular http post

从输入值创建对象并将POST请求发送到我的后端时,出现TypeError:循环对象值。我想这是转换为JSON时出现的问题。
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Fehler/Cyclic_object_value

此问题可能是由于使用[[ngModel)]将输入值绑定到组件变量而引起的,但是我无法使用给定的解决方案解决此问题。
TypeError: cyclic object value in React

在我的代码下面:

component.html:

<tr>
  <td>Key: </td>
  <td><input [(ngModel)]="key" placeholder="Key"/></td>
</tr>
<!--... getting more values with input using [(ngModel)] like above -->

component.ts:

key: string;
// ... more variables

object.service.ts:

createLeafSetting(key: string, ...) {
  // creates object from input parameters
  const s: Setting = {
    keyName: key,
    // ... multiple parameters
  };

  // this adds object to observable array
  this.addSettingToObservableArray(s);
  // this calls the POST method in apiservice with observable array as parameter
  this.apiService.createOrUpdateSettings(this.settings$).subscribe();
}

api.service.ts:

/** Sends changed or newly created objects to API*/
createOrUpdateSettings(setting: Observable<Setting[]>) {
  return this.httpClient.post<Setting[]>(this.API_URL + '/settings', setting)
    .pipe(
      catchError(this.handleError('createOrUpdateSettings', []))
    );
}

有人可以为此提出一个可靠的解决方案,还是一种解决方法,以在代码中找到导致TypeError的特定部分:循环对象值?

非常感谢:)

1 个答案:

答案 0 :(得分:0)

我在component.ts和objects.service.ts之间有一个循环,在该循环中,我在组件内部订阅了一个可观察到的,来自服务的内容。

但是找到那些周期仍然是一个噩梦。