1. 程式人生 > >ajax傳JSON時設置的contenttype導致JAVA中request.getParameter("")怎麽也接收不到數據

ajax傳JSON時設置的contenttype導致JAVA中request.getParameter("")怎麽也接收不到數據

然而 htm 默認 數據 .com bsp quest 怎麽 blog

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

ajax傳JSON時設置的contenttype導致JAVA中request.getParameter("")怎麽也接收不到數據