ฉันมีรหัสเก่าที่สร้างคำขอ AJAX POST ผ่านวิธีการโพสต์ของ jQueryและมีลักษณะดังนี้:
$.post("/foo/bar", requestData,
function(responseData)
{
//do stuff with response
}
requestData
เป็นเพียงวัตถุจาวาสคริปต์ที่มีคุณสมบัติสตริงพื้นฐานบางอย่าง
ฉันกำลังดำเนินการย้ายข้อมูลของเราไปใช้ 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
ให้ส่งวัตถุจาวาสคริปต์เป็นพารามิเตอร์คำขอแทน JSON หรือไม่ ใช่ฉันรู้ว่าฉันสามารถสร้างสตริงด้วยตัวเองจากออบเจ็กต์ได้ แต่ฉันอยากรู้ว่า Angular ให้อะไรมาจากกล่อง