将数据从控制台传递到URL

问题描述 投票:0回答:2

当我点击按钮时,我会在控制台中获得正确的数据,但是现在当我单击按钮时,我希望数据“ reid”应该传递到url。当我尝试:

this.router.navigateByUrl('/details/' + this.results.reid);

我不确定地回来。

enter image description here

home.page.ts

searchName() {
    this.results = this.userService.getName(this.searchTermName).subscribe(result => {
        console.log('Restaurant: ', result);
        this.router.navigateByUrl('/details/' + this.results.reid);
        });
  }

home.page.html

<ion-grid >
        <ion-row >

            <ion-col size-xs="12" size-sm="12" size-md="8" size-lg="8">
                <ion-searchbar placeholder="Restaurant" [(ngModel)]="searchTermName" ></ion-searchbar>
            </ion-col>
        </ion-row>
</ion-grid>

<div class="btn" >
  <ion-button (click)="searchName()"color="primary" fill="solid">
       suchen
  </ion-button>
</div>

user.Service.ts

 getName(name1) {
    return this.http.get('http://127.0.0.1:8000/searchRestaurantByName', {headers: {name: name1}}).pipe(
        map(name => {
            console.log('RAW: ', name1);
            return name;
        })
    );
  }
javascript angular ionic-framework search
2个回答
4
投票

results是一个数组,因此您应该使用:

this.router.navigateByUrl('/details/' + this.result[0].reid);

注意,您有错别字,如果我很认真地看,它是result而不是results。>>


0
投票

[我看到this.results是一个对象数组,它的正常值是undefined,进行重定向后,请尝试首先使用find wich对象。要进行测试,您可以使用this.results[0].reid,您应该得到39。


-1
投票

应该不是结果。里德?现在,您正在引用this.results.reid

© www.soinside.com 2019 - 2024. All rights reserved.