以下ajax正在响应400错误(错误请求):
var jsonData = JSON.stringify({"DeliveryKey":"37507","Produkttyp":"ES 95 120","Abgabemenge":"12","Bonnummer":"","Vorpeilung":"12","Gesamtangabe":"24","NachpeilungVolume":"","PumpenstandVolume":""});
$.ajax({
type: 'PUT',
contentType: 'application/json; charset=utf-8',
processData: false,
url: rootURL + 'allproducts/product/' + deliveryKey, // jsonObj.DeliveryKey
data: jsonData,
success: function(data){
alert("Data PUT-Request successfully!");
},
error: function(){
alert("Fehler in der Methode putProduktInDatabase()");
}
});
以下是消费方代码:
@Path("/allproducts")
public class ProduktModellResource {
ProduktModellDAO produktModellDAO = new ProduktModellDAO();
@PUT @Path("product/{deliveryKey}")
@Consumes({MediaType.APPLICATION_JSON})
public boolean putProduktInDatabase(ProduktModell produkt)
{
return produktModellDAO.putProduktInDatabase(produkt);
}
}
以下是Google Chrome中请求标题的屏幕截图:
我做错了什么?
更新
在服务器端,我返回“true”或“false”,具体取决于是调用了所需的函数还是抛出了异常。这是允许的还是我只应该用JSON响应?
答案 0 :(得分:0)
来自官方Jquery site
类型(默认:'GET') 类型:字符串 要求的类型(“POST”或“GET”),默认为“GET”。注意:其他HTTP请求 此处也可以使用PUT和DELETE等方法,但并非所有浏览器都支持它们。
你最好不要使用PUT类型或......“你会度过一段美好时光”! :)