Mam jakiś stary kod, który wykonuje żądanie AJAX POST za pośrednictwem metody postu jQuery i wygląda mniej więcej tak:
$.post("/foo/bar", requestData,
function(responseData)
{
//do stuff with response
}
requestData
jest po prostu obiektem javascript z kilkoma podstawowymi właściwościami ciągu.
Jestem w trakcie przenoszenia naszych rzeczy do użycia Angulara i chcę zastąpić to wywołanie $ http.post. Wymyśliłem co następuje:
$http.post("/foo/bar", requestData).success(
function(responseData) {
//do stuff with response
}
});
Kiedy to zrobiłem, otrzymałem odpowiedź o błędzie 500 z serwera. Korzystając z Firebug, odkryłem, że wysłało to treść żądania w następujący sposób:
{"param1":"value1","param2":"value2","param3":"value3"}
Pomyślne jQuery $.post
wysyła treść w następujący sposób:
param1=value1¶m2=value2¶m3=value3
Punkt końcowy, do którego trafiam, oczekuje parametrów żądania, a nie formatu JSON. Tak więc moje pytanie brzmi: czy mimo to $http.post
należy wysłać obiekt javascript jako parametry żądania zamiast JSON? Tak, wiem, że mógłbym sam zbudować ciąg z obiektu, ale chcę wiedzieć, czy Angular zapewnia coś takiego po wyjęciu z pudełka.