首先我在controller中有一个添加数据的方法:

@RequestMapping(value="/emp",method=RequestMethod.POST)
    public String  addEmpl(Employee employee) {
        System.out.println("添加的员工数据:"+employee);
        employeeService.addEmp(employee);
        return "redirect:/emps";
    }
    

目的:我要用ajax请求数据封装到该方法中,并且添加完成后回到含有添加数据后的页//模态框保存按钮的事件

                $("#emp_save_btn").click(function() {
                    $.ajax({
                        type : "post",
                        url : "${APP_PATH}/emp",
                        data : $("#empAddModal form").serialize(),//序列化模态框中的数据  方便解析到employee对象
                        // async : false,
                        success : function(result) {
                        }
                    });
                    //关闭模态框
                    $("#empAddModal").modal('hide');
                });

结果:无事发生  数据的确添加到数据库中 但是controller内部请求转发并没有执行

原因:ajax  他只是对数据的处理  在执行完成后会把所有的结果放到result中  对数据的操作  因此整个过程中数据添加成功,但是并没用继续执行controller内部的重定向

造成的影响:需要重新刷新才能看到添加后的数据。

解决办法:在result内部执行页面跳转,同时也可以在添加后立马看到数据所在的页面

//模态框保存按钮的事件
                $("#emp_save_btn").click(function() {
                    $.ajax({
                        type : "post",
                        url : "${APP_PATH}/emp",
                        data : $("#empAddModal form").serialize(),
                        // async : false,
                        success : function(result) {
                            window.location.href="${APP_PATH}/emps?pn="+${pageInfo.pages};
                        }
                    });
                    //关闭模态框
                    $("#empAddModal").modal('hide');
                });

总结:在配合rest风格实现数据的crud上  使用ajax无疑实现开发效率倍增 ,好的模版插件的应用将开发效率增加到最大

SSM项目中用ajax尝试实现controller请求中重定向不起作用的问题的更多相关文章

  1. SSM项目用ajax来显示数据

    <script type="text/javascript"> //1:页面加载完成后,直接去发送ajax请求,要到分页的数据 $(function(){ $.ajax ...

  2. SSM项目集成Lucene+IKAnalyzer在Junit单元测试中执行异常

    个人博客 地址:http://www.wenhaofan.com/article/20181108132519 问题描述 在项目运行以及main方法中能够正常运行,但是使用junit单元测试时却报如下 ...

  3. .net 网站首页,本次的项目中用到的一个网站首页中统计网页访问量的工具方法,我觉得它应该在pagebase里面,拿来用一下

    需要建立一个根文件夹 ~/xml/couter.txt #region 网站访问量         protected void pageviews() {             int count ...

  4. SSM框架开发web项目系列(七) SpringMVC请求接收

    前言 在上篇Spring MVC入门篇中,我们初步了解了Spring MVC开发的基本搭建过程,本文将针对实际开发过程的着重点Controller部分,将常用的知识点罗列出来,并配以示例.在这之前,我 ...

  5. 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?

    在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.

  6. 搭建SSM项目框架全过程及思考

    1.前言 之前都是在现有框架下进行写代码或者总是看一些别人的架构,总会眼高手低.于是打算自己完整的走一遍流程,同时把所遇到的问题,思考的问题记下来,供大家参考.由于是工作年限不高,属于新手,不足之处还 ...

  7. Maven 搭建 SSM 项目 (oracle)

    简单谈一下maven搭建 ssm 项目 (使用数据库oracle,比 mysql 难,所以这里谈一下) 在创建maven 的web项目时,常常会缺了main/java , main/test 两个文件 ...

  8. idea ssm项目出现日志中文乱码,封装的json中的msg字段中文乱码(但是json封装的bean中的字段不乱码)等其他各种项目下的中文乱码解决方案

    开头划重点!(敲黑板):rebuild和mvn package的循环往复好几次的操作是解决这个问题的最主要的方法! 经过多次试验,发现这样做就可以正常显示中文了 我说为什么有时候乱码,有时候中文正常, ...

  9. SSM项目环境快速搭建

    SSM项目的环境搭建 环境搭建的目标 工程创建 创建父工程 创建空 maven工程 xxx-parent 作为父工程 修改父工程中的 pom.xml <!--?xml version=" ...

随机推荐

  1. 【代码笔记】Java基础:类的继承(构造器)

    在Java中,创建对象的格式为: 类名 对象名 = new 类名(): 如: 1 JFrame jf = new JFrame(); 一个对象被创建出来时,经常要先做一些事这个对象才能正常使用,也可以 ...

  2. angularjs如何默认选中radio

    (1). 使用 ng-checked 即可.   <label class="radio-inline"> <input name="display&q ...

  3. Visual Studio Code打开终端控制台

    刚学习Node.js开发,使用vscode开发工具.一开始使用Windows命令窗口输出Node结果,但是觉得太麻烦了,每次都要从vscode开发工具切换到Windows命令窗口,来来回回. 然后想, ...

  4. learn OpenStack by picture

  5. SVNKit学习——svn二次开发背景和闲谈(一)

    开发背景: 简述现有流程:代码的合并.提交是以任务为最小单元的.例如A和B两个同学开发不同的任务,那就是两个任务号.合并的时候可能会先合并A的代码,在合并B的代码. 需求:SVN合并程序开发——一款能 ...

  6. [原]Android打包之Ant打包

    Android自动打包流程详细图: 使用Ant打包会简单很多,只要使用以下两个命令就可以搞定: android update project -p . --target android-18 ant ...

  7. HDU 5527 贪心

    Too Rich Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  8. 【luogu P2324 [SCOI2005]骑士精神】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2324 不懂怎么剪枝,所以说,,我需要氧气.. 第一道A* // luogu-judger-enable-o2 ...

  9. CodeForces - 598C Nearest vectors(高精度几何 排序然后枚举)

    传送门: http://codeforces.com/problemset/problem/598/C Nearest vectors time limit per test 2 seconds me ...

  10. Java基础——数组复习

    数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 数组长度固定不变,避免数组越界   数组是静态分配内存空间的,所 ...