layui向後臺傳遞引數 Required Double parameter 'number' is not present的問題
這種問題已經出現兩次了,上次出現解決後沒有記得寫下來,這次再次出現,又花接近半個小時解決。
首先是自己對引數,看有沒有寫錯字母。沒有寫錯字母的話,在頁面裡面用layer.msg(JSON.stringify(number))把內容輸出出來看看。這樣就可以確定是不是前端的問題。
我經過上兩步確定不是前臺的問題。然後去看後臺的程式碼。開始以為是請求方式不對,不能用requsetmapping來接收請求,改為post後問題依舊。然後使用requestparma 好像也報個錯,是什麼來著。最後想起了上次是用requestbody 來傳遞 一個pojo物件。最後成功。估計問題在於我用了包裝的double接收引數的。
程式碼如下:
public Body setNumber(@RequestBody Double number) { //System.out.println(number); if (number == null) { return Body.BODY_400; } return adminService.setNumber(number); }
$.ajax({ type:"post", datatype:'json', contentType:"application/json; charset=utf-8", url:"", data: JSON.stringify(number), success: function(){ layer.msg('成功修改一級代理金額!') } });