Tôi có một số mã cũ đang thực hiện yêu cầu AJAX POST thông qua phương thức đăng của jQuery và trông giống như sau:
$.post("/foo/bar", requestData,
function(responseData)
{
//do stuff with response
}
requestData
chỉ là một đối tượng javascript với một số thuộc tính chuỗi cơ bản.
Tôi đang trong quá trình chuyển nội dung của chúng tôi sang sử dụng Angular và tôi muốn thay thế cuộc gọi này bằng $ http.post. Tôi đã nghĩ ra những điều sau:
$http.post("/foo/bar", requestData).success(
function(responseData) {
//do stuff with response
}
});
Khi tôi thực hiện việc này, tôi nhận được phản hồi lỗi 500 từ máy chủ. Bằng cách sử dụng Firebug, tôi thấy rằng điều này đã gửi phần thân yêu cầu như sau:
{"param1":"value1","param2":"value2","param3":"value3"}
JQuery thành công $.post
sẽ gửi phần thân như sau:
param1=value1¶m2=value2¶m3=value3
Điểm cuối tôi đang đánh là mong đợi các thông số yêu cầu chứ không phải JSON. Vì vậy, câu hỏi của tôi là có cách nào để $http.post
yêu cầu gửi đối tượng javascript dưới dạng tham số yêu cầu thay vì JSON không? Có, tôi biết tôi có thể tự mình xây dựng chuỗi từ đối tượng, nhưng tôi muốn biết liệu Angular có cung cấp bất kỳ thứ gì cho điều này không.