想做一个简单的登录界面,form表单POST提交用户信息,后台使用RequestBody接收,会报错,想到此时需要将form表单数据转化为Json字符串,查得方法如下:
<body><script type="application/javascript"> $.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; function login(){ var j = $('#user').serializeObject(); alert(JSON.stringify(j)); $.ajax({ url: "/user/edge/login", type: 'POST', datatype: 'JSON', data: JSON.stringify(j), contentType: "application/json", success: function (data) { alert(JSON.stringify(data)); } }) }script><div id="idiv"> <form id="user" action="/user/edge/login" method="post"> 请输入姓名: <input id="name" name="username" required="required"><br><br> 请输入密码: <input id="password" name="password" type="password" required="required"><br><br> <input id="subId" type="button" onclick="login();" value="登录"> form>div>body>