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&param2=value2&param3=value3

Конечная точка, к которой я обращаюсь, ожидает параметры запроса, а не JSON. Итак, мой вопрос в том, чтобы сказать$http.post отправить объект JavaScript в качестве параметров запроса вместо JSON? Да, я знаю, что мог бы сам построить строку из объекта, но я хочу знать, предоставляет ли Angular что-то для этого из коробки.

Ответы на вопрос(13)

Ваш ответ на вопрос