Angular HTTP Post не запускается - PullRequest
0 голосов
/ 26 апреля 2018

Я не вижу, чтобы этот HTTP-пост работал. Я новичок в Angular 4, и это моя первая попытка публикации. Я могу console.log URL-адреса и проверить, что это правильно. Я также могу вручную использовать POST в Fiddler, и он работает правильно, только не из приложения.

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

Этот URL не требует тела, поэтому я не был уверен, что это имело значение.

Компонент

getSanitationTasks() {
    this.sanitationProvider.getSanitationTasks().subscribe(location => this.sanitationTasks = location)
  }

  completeSanitationTask(loadnumber) {
    this.sanitationProvider.completeSanitationTask(loadnumber).subscribe((res) => {
      console.log("complete executed"); this.getSanitationTasks(), error => { console.log(error) };

    });

  }

Сервис

 completeSanitationTask(loadnumber) {

    console.log(this.DatabaseName, this.EmployeeNumber, loadnumber);

    this.completeSanitationTaskURL = "http://xxxx-dev.dotfoods.com/api/" + this.DatabaseName + "/v1/sanitation/tasks?employeeNumber=" + this.EmployeeNumber + "&loadNumber=" + loadnumber;

    return this.http.post(this.completeSanitationTaskURL, []).map(res => res.json());


  }

HTML

<ion-content padding>
  <ion-grid>
    <ion-row style="background: darkblue; color: white;">
      <ion-col col-md-3>
        <ion-label>Door Number</ion-label>
      </ion-col>
      <ion-col col-md-3>
        <ion-label>Load Number</ion-label>
      </ion-col>
      <ion-col col-md-3>
        <ion-label>Trailer Number</ion-label>
      </ion-col>
      <ion-col col-md-3>

      </ion-col>
    </ion-row>
    <ion-row style="border-bottom: solid; border-width: 1px" *ngFor="let task of sanitationTasks;let index = index;trackBy:trackByIndex;">
      <ion-col col-md-3>
        <ion-label>{{task.DoorNumber}}</ion-label>
      </ion-col>
      <ion-col col-md-3>
        <ion-label>{{task.LoadNumber}}</ion-label>
      </ion-col>
      <ion-col col-md-3>
        <ion-label>{{task.TrailerNumber}}</ion-label>
      </ion-col>
      <ion-col col-md-3>
        <button ion-button (click)="completeSanitationTask(task.LoadNumber)">Complete</button>
      </ion-col>
    </ion-row>
  </ion-grid>

</ion-content>

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Чтобы инициировать пост-http-вызов, вам необходимо подписаться на Observable, возвращаемое функцией.

HeroesComponent инициирует фактическую операцию POST, подписываясь на Observable, возвращаемое этим методом обслуживания.

Подробнее в этой документации .

completeSanitationTask(loadnumber) {
  this.sanitationProvider.completeSanitationTask(loadnumber)
    .subscribe(response => {
      console.log(response);
    });
}
0 голосов
/ 26 апреля 2018

Подпишитесь на наблюдаемую вернувшуюся.

completeSanitationTask(loadnumber) {
    this.sanitationProvider.completeSanitationTask(loadnumber).subscribe((res)=>{
   console.log(res); 
});

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...