一步操作中,实现页面跳转与加载Ajax数据方案

2 篇文章 0 订阅

      实际业务中遇到这样一个问题:

       1)在一个页面中操作数据,点击菜单中某个模块,跳转到另外一个页面(逻辑设计如此)

       2)跳转后,需要加载另外一个模块中的数据

       3)跳转后需要携带模块的id,便于定位展示数据

       实现思路:

由于Ajax必须在当前页面才能加载数据;所以不可能在同一个方法中,跳转新页面后再加载Ajax;设计如下

1)先跳转新页面,在新页面中添加Ajax更新方法

2)跳转携带任务id到浏览器URL

3)从浏览器URL中获取id,展示列表数据

         步骤如下:

1)点击跳转新页面按钮

οnclick="showHttpTask('+ id+ ')" 

2)跳转按钮调用方法,实现另外一个页面跳转:

function showHttpTask(id){
    window.location.href="/task/taskToCase?taskId="+id;}

3)在另外一个页面,初始化过程中,调用加载Ajax的方法:

if(showTaskId!=null){
                        showCase(data.taskId);//初始化页面中,调用Ajax数据更新
                    }    

/*  实现Ajax方法  */

function showCase(id){
    /*第一个Ajax请求,显示任务对应的用例*/
     $.ajax({
            url : '/task/searchMaidianCase',
            dataType:'json',
            type : 'get',
            data : {
                id : id,
            },
            success : function(result) {
                   //console.log("ccccccccc",result);
                   var res=result.maidian;
                   len = res.length;
                   var result;}

//后面处理省略

 

以下后台代码,作为上面跳转响应(仅供参考):

1)/* 跳转新页面 */

@RequestMapping(value="/taskToCase")
                public String taskToCase(@RequestParam("taskId") int taskId) {
                    return "maidian/maidian";
                }

2)Ajax跳转调用接口

    @ResponseBody
                @RequestMapping(value="searchMaidianCase",method=RequestMethod.GET)
                         public  Object searchMaidianCase(@RequestParam("id") int id,Model model) {
                    try {
                        List<PointEntity> PointEntities=new ArrayList<PointEntity>();
                        PointEntities=Task.selectMaidianById(id);
                        model.addAttribute("maidian",PointEntities); 
                        //System.err.println("testing"+JSON.toJSON(model));        
                    } catch (Exception e) {
                        e.printStackTrace();
                    }       
                       return JSON.toJSON(model);
                        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值