轉自:http://blog.csdn.net/Q_AN1314/article/details/51735184
使用jQuery從前端向后臺發(fā)送JSON數據,設置了Content-Type為application/json,同時在Spring MVC的Controller里面使用了@RequestParam注解來接收參數,但是只在GET請求的時候才能正常訪問,在使用POST請求的時候會產生找不到參數的異常。
原因是,jQuery發(fā)送的數據是用&符號連接起來的,像是這種:
這里寫圖片描述
對應的Content-Type是 application/x-www-form-urlencoded,但是在ajax中錯誤地將Content-Type設置成了application/json,所以出現了這種錯誤。
解決方法有兩種,一種是ajax中發(fā)送數據時加上雙引號,這樣數據的格式就是這樣的:
這里寫圖片描述
此時把Content-Type設置成application/json就可以了。另一種就是用&連接的數據,此時把Content-Type設置成application/x-www-form-urlencoded。
總之,數據的格式一定要和Content-Type保持一致。