2017-09-25 109 views
0

即時獲取控制檯日誌,如下所示:「'缺少必需的'頁面'參數」。 我試圖設置它作爲我的get請求中的參數,它似乎工作,因爲我可以讓控制檯打印出PARAMS作爲數組。缺少必要的參數角度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") 
    }) 
    } 

編輯: 這是網址我得到。這些參數對我來說看起來有點滑稽,或者僅僅是因爲它沒有解析? 「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,而在於你所提出的請求。

編輯:請求看起來有點奇怪。 RequestOptions的文檔似乎說params應該是URLSearchParams,而不是HttpParams。也許這就是問題所在。

+0

那麼你建議隊友是什麼? – byblix