在 Angular 2 中,我们使用 URLSearchParams 在 GET & POST 请求中设置 URL 参数。
var params = new URLSearchParams();
params.set('param1', param1);
我使用以下方法来使用双精度和整数型参数。
longitude: number;
size: number;
params.set('longitude', longitude.toString());
params.set('size', size.toString());
但是我们在这里只能使用 String 类型参数。使用双精度、浮点和布尔类型参数的最佳方法是什么?
顾
名思义,URLSearchParams是URL的一部分。URL 需要表示为字符串。如果您需要区分字符串、双浮点数和布尔值,那么您可以发明自己的编码并在接收站点上相应地解析它。
举个例子:
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);
}