網站搜尋

angular - 如何在 angular2 中將 JSON 轉換為查詢字串?


我剛開始接觸 Angular2。我有一個 JSON 物件,如下所示:

var options = {
  param1: "parama1",
  param2: "parama2",
  param3: "parama3"
};

這應該轉換為查詢字串並附加到外部 URL 以重定向頁面,如下所示:

ngOnInit(){
     window.location.href = someurl?param1=param1&param2=param2&param3=param3;
}

我正在尋找一種方法將它轉換為查詢字串。在 JQuery 中,存在 $.param(),在 AngularJS 中存在 $httpParamSerializerJQLike() 用於這個。我已經搜索過,但什麼也沒找到。我想知道在 Angular 2 中有沒有辦法做到這一點。

答案#1

一種更「官方」的方法,沒有字串連接:

import {URLSearchParams} from '@angular/http'
let options = {
  param1: "param1",
  param2: "param2",
  param3: "param3"
};

let params = new URLSearchParams();
for(let key in options){
    params.set(key, options[key]) 
}

console.log("http://someUrl?" + params.toString());

順便說一下,這會自動進行編碼。

答案#2

你可以使用 HttpParams

import { HttpParams } from '@angular/common/http';

new HttpParams({fromObject: yourObject}).toString()