У меня есть старый код, который делает запрос AJAX POST через метод jQuery post и выглядит примерно так:
$.post("/foo/bar", requestData,
function(responseData)
{
//do stuff with response
}
requestData
это просто объект javascript с некоторыми основными строковыми свойствами.
Я сейчас перехожу на использование Angular и хочу заменить этот вызов на $ http.post. Я придумал следующее:
$http.post("/foo/bar", requestData).success(
function(responseData) {
//do stuff with response
}
});
Когда я сделал это, я получил от сервера ответ об ошибке 500. Используя Firebug, я обнаружил, что это отправляет тело запроса следующим образом:
{"param1":"value1","param2":"value2","param3":"value3"}
Успешный jQuery $.post
отправляет тело следующим образом:
param1=value1¶m2=value2¶m3=value3
Конечная точка, на которую я обращаюсь, ожидает параметры запроса, а не JSON. Итак, мой вопрос: есть ли способ $http.post
отправить объект javascript в качестве параметров запроса вместо JSON? Да, я знаю, что могу построить строку самостоятельно из объекта, но я хочу знать, предоставляет ли Angular что-нибудь для этого из коробки.