Ręczne formatowanie ciąg kwerendy jest w porządku dla prostych sytuacjach. Ale może być nudne, gdy jest wiele parametrów.
Można napisać prostą funkcję narzędzia, która obsługuje tworzenie formatowania zapytań.
function formatParams(params){
return "?" + Object
.keys(params)
.map(function(key){
return key+"="+encodeURIComponent(params[key])
})
.join("&")
}
I byłoby użyć to w ten sposób, aby zbudować żądania.
var endpoint = "https://api.example.com/endpoint"
var params = {
a: 1,
b: 2,
c: 3
}
var url = endpoint + formatParams(params)
//=> "https://api.example.com/endpoint?a=1&b=2&c=3"
Dostępnych jest wiele funkcji narzędziowych do manipulowania adresami URL. Jeśli masz JQuery w swoim projekcie, możesz spróbować wypróbować http://api.jquery.com/jquery.param/.
Jest podobny do powyższej przykładowej funkcji, ale obsługuje rekursywne serializowanie zagnieżdżonych obiektów i tablic.
Możesz to zrobić w ten sposób, ale musisz oddzielić pary klucz/wartość za pomocą znaków ampersands, zamiast znaków zapytania. A więc: '" blahblah.php? Variable1 = "+ var1 +" & variable2 = "+ var2' – nnnnnn
Upewnij się również, że' var1' i 'var2' nie zawierają samych znaków zastrzeżonych. Możesz chcieć uciec z nich za pomocą 'encodeURIComponent()'. – nullability