У мене є старий код, який робить запит AJAX POST методом публікації jQuery і виглядає приблизно так:
$.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 щось для цього поза полем.