Bu çözüm
Örtmek herkes bunun nasıl merak , ben C# .Net Çekirdek 1.1 ve böylece benziyor typescript 2.2.2 WebAPI ile çalışmalıdır bir uzantı yazdım en karmaşık türleri
ile çalışacaktır .
siz de
import { URLSearchParams } from '@angular/http';
import 'rxjs/add/operator/map'
export class QueryStringBuilder {
static BuildParametersFromSearch<T>(obj: T): URLSearchParams {
let params: URLSearchParams = new URLSearchParams();
if (obj == null)
{
return params;
}
QueryStringBuilder.PopulateSearchParams(params, '', obj);
return params;
}
private static PopulateArray<T>(params: URLSearchParams, prefix: string, val: Array<T>) {
for (let index in val) {
let key = prefix + '[' + index + ']';
let value: any = val[index];
QueryStringBuilder.PopulateSearchParams(params, key, value);
}
}
private static PopulateObject<T>(params: URLSearchParams, prefix: string, val: T) {
const objectKeys = Object.keys(val) as Array<keyof T>;
if (prefix) {
prefix = prefix + '.';
}
for (let objKey of objectKeys) {
let value = val[objKey];
let key = prefix + objKey;
QueryStringBuilder.PopulateSearchParams(params, key, value);
}
}
private static PopulateSearchParams<T>(params: URLSearchParams, key: string, value: any) {
if (value instanceof Array) {
QueryStringBuilder.PopulateArray(params, key, value);
}
else if (value instanceof Date) {
params.set(key, value.toISOString());
}
else if (value instanceof Object) {
QueryStringBuilder.PopulateObject(params, key, value);
}
else {
params.set(key, value.toString());
}
}
}
Bu defa kullandım tüm karmaşık türleri için çalışıyor bunu kullanıyor nerede bu iki ithalatı eklemeyi unutmayın.
Olası çoğaltılabilir [Açısal 2'de bir HTTP isteğine nasıl url argümanları (sorgu dizesi) geçirilir] (http://stackoverflow.com/questions/34475523/how-to-pass-url-arguments-query-string -to-a-http-istek-on-açısal-2) – AArias
Herhangi bir HTTP almak veya göndermek için aramak istemiyorum. Window.location.href dosyasını değiştireceğim. –
Bu [cevap] 'a bakmak zorundasınız (http://stackoverflow.com/questions/34475523/how-to-pass-url-arguments-query-string-to-a-http-request-on-angular-2) –