2017-09-25 30 views
0

次のようにコンソールログを取得しています: "'必須'ページ 'パラメータ'がありません。 私は取得リクエストでパラメータとして設定しようとしていますが、動作するようですが、コンソールとして配列を出力するようにコンソールを取得できます。必要なパラメータを取得する必要がありません角度4

何が欠けていますか? コンソールの写真:See this

ありがとう!

サービス:

export class StoriesService implements OnInit { 

    private apiUrl = 'https://dev-api.byrd.news/v1/stories'; 

    constructor(private http: Http) { 
    console.log("Yo! Stories!") 
    } 

    ngOnInit() { } 

    getToken() { 
    return Observable.fromPromise(firebase.auth().currentUser.getIdToken(true) 
     .then((idToken) => { 
     return idToken; 
     })) 
    } 


    getData(page: string, feed: string, hits: string): Observable<any> { 
    return this.getToken() 
     .flatMap(idToken => { 
     let headers = new Headers(); 
     headers.append('user_token', idToken); 
     let params = new HttpParams() 
      .set('page', page) 
      .set('feed', feed) 
      .set('hits', hits); 
     let options = new RequestOptions({ headers: headers, params: params }); 
     // console.log(this.idToken, options); 
     console.log("Token: " + idToken); 
     console.log(headers, params); 
     return this.http 
      .get(this.apiUrl, { params, headers }) 
      .map((response: Response) => { 
      console.log("Breakthrough!") 
      return response.json() || {}; 
      }) 
     }) 
     .catch(this.handleError); 
    } 

    private handleError(error: Response) { 
    return Observable.throw(error.statusText); 
    } 

コンポーネント:

getStories() { 
    this.storiesService.getData('0', 'latest', '6') 
    .subscribe(data => { 
     console.log(data); 
     console.log("Ikke mere data") 
    }) 
    } 

編集: これは私が取得URLです。 paramsはちょっと面白く見えますか? 「https://dev-api.byrd.news/v1/stories?updates=%7B%22param%22:%22page%22,%22value%22:%220%22,%22op%22:%22s%22%7D&updates=%7B%22param%22:%22feed%22,%22value%22:%22latest%22,%22op%22:%22s%22%7D&updates=%7B%22param%22:%22hits%22,%22value%22:%226%22,%22op%22:%22s%22%7D&cloneFrom=%7B%22updates%22:null,%22cloneFrom%22:null,%22encoder%22:%7B%7D,%22map%22:null%7D&encoder=%7B%7D&map=null

答えて

0

サーバーがあなたに送信しているようです。問題はAngularではなく、要求しています。

EDIT:リクエストはちょっと変わっています。 RequestOptionsのドキュメントでは、paramsHttpParamsではなく、URLSearchParamsである必要があります。多分それが問題です。

+0

だからあなたは何を相手に提案しますか? – byblix

関連する問題