前端ajax以json格式提交form表单,后端接受类型为JSONObject 女爷i 2022-03-16 18:48 542阅读 0赞 前端使用ajax提交form表单,后端使用的JSONObject进行jie接收参数 var strdata = $("#add").serializeArray(); var obj={};//给obj分配内存 for(var i =0;i<strdata .length;i++){ obj[strdata [i].name]=strdata [i]['value']; } var str= JSON.stringify(obj );//转换成string数据 $.ajax({ type: "POST", //提交的方法 dataType: "json", contentType : 'application/json', url:"http://127.0.0.1:8090/role", //提交的地址 data: str,// 序列化表单值 async: false, error: function(request) { //失败的话 alert("Connection error"); }, success: function(data) { //成功 alert(data); //就将返回的数据显示出来 window.location.href="跳转页面" } }); }); 如果不经过for循环直接使用 JSON.stringify(strdata );会导致数据为: ”\[\{name:"Name",value:"小明"\},\{name:"Age",value:"22"\},\{name:"Sex",value:"男"\}\]”//数组类型 所以要想得到:”\{Name":"小明"\},\{"Age":"22"\},\{"Sex":"男"\}”类型必须加入for循环,不加的话可以在后端进行处理。 @PostMapping(value = "/role") public void insertRole(@RequestBody JSONObject jsonObject) { String name = jsonObject.getString("Name"); } }
还没有评论,来说两句吧...