当我们使用springmvc+spring+hibernate进行web开发时,在一个controller的方法中,只要返回页面名字的字符串即可实现页面跳转,但是当我们使用ajax异步调用controller的时候,再使用这种方法进行页面跳转就会发现不灵了
Ajax请求springMVC中controller:Ajax请求的特点是,一旦发送一个请求,服务器接受响应之后,用response对象写回数据,Ajax实际上就是通过XMLHttpRequest来发送请求对象向服务器发送异步请求,从服务器获取数据,然后使用JS来操作DOM而更新页面。也就是说,服务器端返回的是纯文本流,可以是xml格式,html格式,js格式,也可以是字符串格式。
但总结一句话,客户端获取ajax异步获取结果后,不是直接显示在页面上,而是必须要先由js处理,完成之后才能显示在页面。这就可以解释我们的问题了,当Ajax请求后,返回的只能是字符流,不是页面。所以要使页面跳转,我的解决方案是,前台用js刷新。
前台的ajax请求:
//$("#edit_customer_form").serialize()序列化,避免中文乱码。
function updateCustomer() {