2016-04-26 9 views
2

を要求する方法。角度2:GETにダブル、フロート、INT&ブール型のparamsを設定&POSTが<strong>が</strong> & <strong>POST</strong> GETリクエストで、我々はURLパラメータを設定する<strong>URLSearchParams</strong>を使用している角度2で

var params = new URLSearchParams(); 
params.set('param1', param1); 

私はダブルint型型のparamsを使用するには、以下の方法を使用しています。

longitude: number; 
size: number; 
params.set('longitude', longitude.toString()); 
params.set('size', size.toString()); 

ただし、ここでは文字列型パラメータのみを使用できます。 doublefloatbooleanタイプのパラメータを使用する最良の方法は何ですか?

+0

あなたは正確に、何を意味するのですか? 'URLSearchParams'はURLパラメータが常に文字列であるため、文字列パラメータのみをとります。あなたがやっているように、文字列に変換する必要がある他のタイプ。本当に言うべきことは他にありません... – acdcjunior

答えて

3

名前が示すとおり、URLSearchParamsはURLの一部です。 URLは文字列として表現する必要があります。文字列、double float、booleanを区別する必要がある場合は、独自のエンコーディングを作成して、受信側サイトでそれを解析することができます。

例:

var floatStr = encodeURIComponent(JSON.stringify({type: 'float', value: longitude.toString()})); 
// params.set('param1', floatStr); 

.... 

var json = JSON.parse(decodeURIComponent(param1)); 
if(json.type === 'float') { 
    var longitude = parseFloat(json.value); 
} 
関連する問題