天天看點

ajax傳JSON時設定的contenttype導緻JAVA中request.getParameter("")怎麼也接收不到資料

ajax傳JSON時設定的contenttype預設值是application/x-www-form-urlencoded,

當ajax傳JSON時設定的contenttype 如果是application/json或者text/json時,JAVA中request.getParameter("")是接收不到資料的。

因為在java背景會認為你傳遞的是一個純文字流,而非鍵值對,是不能存入requestMap的。

可以把流讀取出來轉成json轉成lsit或對象等,在Spring中使用@RequestBody注解

在SpringMVC環境中,@RequestBody接收的是一個Json對象的字元串,而不是一個Json對象。然而在ajax請求往往傳的都是Json對象,用 JSON.stringify(data)的方式就能将對象變成字元串。同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 這樣就可以輕易的将一個對象或者List傳到Java端...

轉載:https://www.cnblogs.com/fenglie/articles/5127969.html