ฉันพยายามส่งคำขอ POST ไปยัง servlet ส่งคำขอผ่าน jQuery ด้วยวิธีนี้:
var productCategory = new Object();
productCategory.idProductCategory = 1;
productCategory.description = "Descrizione2";
newCategory(productCategory);
โดยที่ newCategory คือ
function newCategory(productCategory)
{
$.postJSON("ajax/newproductcategory", productCategory, function(
idProductCategory)
{
console.debug("Inserted: " + idProductCategory);
});
}
และ postJSON คือ
$.postJSON = function(url, data, callback) {
return jQuery.ajax({
'type': 'POST',
'url': url,
'contentType': 'application/json',
'data': JSON.stringify(data),
'dataType': 'json',
'success': callback
});
};
ด้วย firebug ฉันเห็นว่า JSON ส่งอย่างถูกต้อง:
{"idProductCategory":1,"description":"Descrizione2"}
แต่ฉันได้รับ 415 ประเภทสื่อที่ไม่รองรับ Spring mvc controller มีลายเซ็นต์
@RequestMapping(value = "/ajax/newproductcategory", method = RequestMethod.POST)
public @ResponseBody
Integer newProductCategory(HttpServletRequest request,
@RequestBody ProductCategory productCategory)
เมื่อหลายวันก่อนมันได้ผล แต่ตอนนี้ก็ไม่เป็นเช่นนั้น ฉันจะแสดงรหัสเพิ่มเติมถ้าจำเป็น ขอบคุณ
var productCategory = { idProductCategory: 1, description: "Descrizione2" };
กระชับและอ่านง่ายกว่าใช่ไหม คุณต้องบอกให้สปริงยอมรับเป็นapplication/json
พิเศษหรือไม่? พูดอีกอย่างคือมันคาดหวังว่าข้อมูลจะมาในรูปแบบหรือไม่?