Angular 6 и PSQL Ошибка отклика на страницы - PullRequest
2 голосов
/ 21 января 2020

Первая проблема: необработанное отклонение Ошибка [ERR_HTTP_HEADERS_SENT]: Невозможно установить заголовки после того, как они отправлены клиенту

Вторая проблема до этого состояла в том, что служба отправила запрос бэкэнду с помощью (размер страницы и смещение) параметры, но сервер не отправил обратно никаких данных ..

Компонент:

 ngOnInit() {
    // this.getAllEventLogs(this.eventlogs);
          this.sourceLoggercontrol.getAllEventLogs(this.pageSize, this.pageIndex)
            .subscribe(response => {
              this.eventlogs = response.eventlogs;
              this.totalItemsCount = response.totalItemsCount;
            });
            console.log(this.eventlogs)
          }

onPage(pageEvent: PageEvent): void {
    this.pageSize = pageEvent.pageSize,
      this.pageIndex = pageEvent.pageIndex;
    this.sourceLoggercontrol.getAllEventLogs(this.pageSize, this.pageIndex)
      .subscribe(response => {
        this.eventlogs = response.eventlogs;
        this.totalItemsCount = response.totalItemsCount;
      });
  }

СЕРВИС:

getAllEventLogs(
            pageSize: number,
            pageIndex: number
      ): Observable<{ eventlogs: Eventlog[], totalItemsCount: number }> {
            const params = {
                  pageSize,
                  pageIndex
            }
            return this.http.get(BASE_URL + 'eventlogs', { params }) 
                  .map(res => res.json());
      }

HTML:

 <mat-paginator #paginator [length]="totalItemsCount" [pageIndex]="pageIndex" [pageSize]="pageSize"
          [pageSizeOptions]="[5, 10, 15]" (page)="onPage($event)">
        </mat-paginator>
  </mat-accordion>

НАЗАД:

function getAllEventlog(req, res, next) {
    const pageSize = req.query.pageSize;
    const pageIndex = req.query.pageIndex;
    const offset = pageSize * pageIndex;
    const limit = pageSize;
    db.any('SELECT * FROM event_log LIMIT $1 OFFSET $2', [limit, offset])
      .then(function (eventlogs) {
        return db.one('SELECT COUNT(*) FROM event_log').then(countResult => {
        res.status(200)
          .json({
            eventlogs,
            totalItemsCount: countResult.count,
          });
          console.log(req.body)
        })
      })
      console.log(eventlogs)
      .catch(function (err) {
        return next(err);
      });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...