SpringMVC中Ajax傳的值顯示為null
阿新 • • 發佈:2018-12-13
情景再現:
分析問題:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%String contextPath=request.getContextPath();%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>SpringMVC</title> <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script> <script> function submit() { console.info($('#form1').serialize()) console.info($('#form1').serializeArray()) $.ajax({ url:'<%=contextPath%>/web/mvc/m1', type:'post', dateType:'json', contentType:'charset=UTF-8', data:$('#form1').serializeArray(), success:function(data) { console.info(data) }, error:function(data){ alert("失敗啦"); } }) } </script> </head> <body> <form id="form1"> 使用者名稱: <input type="text" name="name" id="name"/> <br> 年 齡: <input type="text" name="age" id="age"/><br> 興 趣: <input type="checkbox" name="sport" value="1">足球 <input type="checkbox" name="sport" value="2">籃球<br> <a onclick="submit()">提交</a> </form> </body> </html>
原來時contentType:"charset=UTF-8"是多餘的
解決問題:
去掉contentType就好了