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