站长查询,网站专业建设公司,做网站要买数据库,什么网站做优化最好今天在开发一个用户信息更新模块的时候遇到了两个问题#xff1a;1、在我提交form表单的时候我希望在提交表单之后页面不刷新#xff0c;同时返回更新数据2、向后台POST表单信息的时候#xff0c;后台显示POST url 404的错误解决第一个问题的使用使用jquery.form的插件进行异…今天在开发一个用户信息更新模块的时候遇到了两个问题1、在我提交form表单的时候我希望在提交表单之后页面不刷新同时返回更新数据2、向后台POST表单信息的时候后台显示POST url 404的错误解决第一个问题的使用使用jquery.form的插件进行异步提交$(function() {$(#user-update).submit(function(){$(this).ajaxSubmit({type:post, //提交方式dataType:json, //数据类型url:${pageScope.basePath}user/update, //请求urlsuccess:function(data){ //提交成功的回调函数layer.alert(保存成功);}});return false; //不刷新页面});});我的form表单是这个样子的用户信息用户名用户中文名用户邮箱 用户最后登录时间使用这种方式即可对form进行异步提交提交之后我发现后台反回了如下错误我的后台的java代码如下采用了spring mvc 的restful风格进行编写的RequestMapping(value /update,method RequestMethod.POST)public String updateUser(HttpServletRequest request,HttpServletResponse response) {response.addHeader(Access-Control-Allow-Origin, *);/* 获取前台传送的参数 */String id request.getParameter(id);....../* 组装user */User user new User();user.setId(Integer.parseInt(id));.......boolean updateResult service.update(user);logger.debug(UserControllerupdateUser()-------- updateResult);return String.valueOf(updateResult);}我发现不能返回我想要的字符串于是使用ResponseBody来返回数据(responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用在使用RequestMapping后返回值通常解析为跳转路径加上responsebody后返回结果不会被解析为跳转路径而是直接写入HTTP response body中。比如异步获取json数据加上responsebody后会直接返回json数据)于是返回结果成功。Responsebody原理该注解用于将Controller的方法返回的对象通过适当的HttpMessageConverter转换为指定格式后写入到Response对象的body数据区。注意到使用ResponseBody将会跳过视图处理部分调用合适的HttpMessageConverter将返回值写入输出流。