2017-08-16 26 views
0

Angular 4アプリのURLSearchParamsを使用してExpress/Nodeサーバーに取得/投稿リクエストを作成しようとしていますが、サーバー内のデータURLSearchParamsがNodeサーバーで角を取得/投稿しています

私はhttp.getのための2番目のパラメータは

interface RequestOptionsArgs { 
    url?: string|null 
    method?: string|RequestMethod|null 
    search?: string|URLSearchParams|{[key: string]: any | any[]}|null 
    params?: string|URLSearchParams|{[key: string]: any | any[]}|null 
    headers?: Headers|null 
    body?: any 
    withCredentials?: boolean|null 
    responseType?: ResponseContentType|null 
} 

あるRequestOptionsArgsは、ので、これは正常に動作しなければならない。この

let params: URLSearchParams = new URLSearchParams(); 
params.set('company', company); 
return this.authHttp 
     .get(`${api}/${id}`, { search: params, params }) 

のようなものをやっているが、私は取得しようとすると、 req.query.companyはサーバー上でreq.queryが定義されていないことがわかります。 req.paramsでは、私はURLで送信するidを見つけることができますが、会社はありません。

私は何が間違っているかもしれないか考えていますか?

おかげ

+0

で私の答えを更新し、角度4のための私の答えを確認してください。 – Niladri

+0

authhttpサービスのコードを投稿できますか? – Niladri

+0

質問は広すぎ、http://stackoverflow.com/help/mcveには欠けています。 [ネットワーク]タブを確認し、この情報を提供する必要があります。要求にparamsが存在する場合、角度部分は無関係であり、これは純粋にノードの質問です。さもなければ、ノード部分は無関係であり、これは純粋に角度の問題です。 – estus

答えて

1

編集:簡易版

let params: URLSearchParams = new URLSearchParams(); 
return this.authHttp 
    .get(`${api}/${id}`, { params: { company: company } }); 
+0

追加のためにセットが変更されましたが、何も起こりませんでした。私はこれがparamsに複数の要素を追加したいときに使われると思います。私の場合は1つしか使用していないので意味があります – David

+0

{'search:params}'に変更しましたか?どのようにノードサーバーで検索パラメータを解析していますか? – Niladri

+0

{search:params、params}または{search:params}は同じように動作するはずです.2つの異なるフィールドにURLSearchParamsを渡しています。ノードサーバーでは、req.paramsとreq.queryを使用してデータを取得します。 – David

関連する問題