Pesquisa de site

angular - Como converter JSON em string de consulta no angular2?


Sou novo em Angular2. Eu tenho um objeto JSON, como abaixo:

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

que deve ser convertido em string de consulta e anexado a uma URL externa para redirecionar a página como abaixo:

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

Estou procurando uma maneira de convertê-lo em uma string de consulta. No JQuery, $.param() e no AngularJS $httpParamSerializerJQLike() existem para isso. Eu pesquisei, mas não encontrei nada. Quero saber se existe alguma maneira de fazer isso no Angular2.

Resposta #1

Um método mais 'oficial' sem a concatenação de strings:

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());

Aliás, isso faz codificação automática.

Resposta #2

Você pode usar HttpParams

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

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

Artigos relacionados