[問題] jquery post json object 的問題

看板Ajax作者 (led)時間9年前 (2016/04/28 19:29), 9年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
各位大大好: 初次接觸ajax, 今天嘗試用jsp 寫來接收POST過來的json資料 大概的程式碼如下: *SEND POST 的部分: <script> var testdata = { "mode" : "A", "userdata" : { "color" :"red", "size" : "big" } } </script> $.post( url, testdata); ------ jsp 接收端 <% String mode = request.getParameter("mode"); String userdata = request.getParameter("userdata"); out.print("mode:"+ mode+", userdata:"+userdata); %> 顯示的結果是 mode:A, userdata:null 其中mode的部分會正常顯示資料,但是userdata 是null, 實在是滿奇怪的,後來有嘗試用String 的方式, 把資料每個有雙引號的部分加上反斜線(\") 就可以正常收到資料 囧 後來也嘗試$.param() JSON.stringify 就是沒辦法正常接收jsonobject的資料 *使用encodeURIComponent()的話倒是可以得到一些需要decode的資料 目前想到的方法就是把資料轉成String 再把雙引號加上\ 但感覺不是個正常的做法XD 請教各位大大有沒有遇過類似的問題,要如何解決 感謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.153.69 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1461842998.A.2D1.htmlledzepp0:轉錄至看板 java 04/28 19:59

04/28 20:06, , 1F
request.getParameter("userdata[color]")
04/28 20:06, 1F

04/28 20:08, , 2F
用瀏覽器的工具去看request發送的data,應該就能懂
04/28 20:08, 2F
感謝大大,後來依照這個邏輯,我把原先的資料先 stringify 再包成json object就可了! ※ 編輯: ledzepp0 (42.72.150.97), 05/04/2016 12:56:29
文章代碼(AID): #1N8VGsBH (Ajax)
文章代碼(AID): #1N8VGsBH (Ajax)