jquery ajax put request返回400错误

时间:2014-01-24 08:57:22

标签: javascript jquery ajax http rest

以下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中请求标题的屏幕截图:

enter image description here

我做错了什么?

更新

在服务器端,我返回“true”或“false”,具体取决于是调用了所需的函数还是抛出了异常。这是允许的还是我只应该用JSON响应?

1 个答案:

答案 0 :(得分:0)

来自官方Jquery site

  

类型(默认:'GET')   类型:字符串   要求的类型(“POST”或“GET”),默认为“GET”。注意:其他HTTP请求   此处也可以使用PUT和DELETE等方法,但并非所有浏览器都支持它们。

你最好不要使用PUT类型或......“你会度过一段美好时光”! :)

相关问题