AngularJS - Есть ли способ для $ http.post отправлять параметры запроса вместо JSON?
У меня есть старый код, который делает AJAX POST запрос черезjQuery's 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 что-то для этого из коробки.