Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring,jQuery:如何实现相同的行为?_Jquery_Spring - Fatal编程技术网

Spring,jQuery:如何实现相同的行为?

Spring,jQuery:如何实现相同的行为?,jquery,spring,Jquery,Spring,我希望我的jQuery脚本表现为直接链接调用(我很确定这不是一件难事),下面我将对此进行解释: 我有一个带有jeasyui组件(datagrid)的.jsp页面,其中列出了我的应用程序中的项目,可以在其中一行中请求它调用控制器中的.GET方法,以便设置某个对象(在本例中是一个项目类)并调用另一个.jsp页面,以便在此实例中执行更新任务(事实上非常常见…) 当我通过调用直接调用listing.jsp页面中的方法时,控制器通常会处理HTTPGET请求并返回update.jsp页面 当我尝试通过jQu

我希望我的jQuery脚本表现为直接链接调用(我很确定这不是一件难事),下面我将对此进行解释:

  • 我有一个带有jeasyui组件(datagrid)的.jsp页面,其中列出了我的应用程序中的项目,可以在其中一行中请求它调用控制器中的.GET方法,以便设置某个对象(在本例中是一个项目类)并调用另一个.jsp页面,以便在此实例中执行更新任务(事实上非常常见…)

  • 当我通过调用直接调用listing.jsp页面中的方法时,控制器通常会处理HTTPGET请求并返回update.jsp页面

  • 当我尝试通过jQuery执行相同的操作(步骤2)时(为了使用引用的DataGrid),会调用控制器方法,参数会正确地传递给,但响应不会跟踪到.jsp更新页面

  • 让我们转到代码:

    控制器

    @RequestMapping(method=RequestMethod.GET)
    public Project setUpForm(HttpServletRequest req, 
                                HttpServletResponse resp,
                                    @RequestParam(value="id", required=false) 
                                        Long id, Model model, ModelMap modelMap){
    
        ... do stuff ...
        /* CONTROLER IS WORKING FINE */
    
        if(id==null){
            //that's a new project!
            Project project = new Project();
            return project;
        } else {
            //an ID was passed and means an existing one!
            Project project = mpService.getProjectById(id);
            return project;
        }   
    }
    
    列出JSP页面(项目列表)

    你知道会发生什么事吗


    谢谢你的帮助

    对于有类似问题的人:

    该行为是使用.jsp页面或该页面引用的.js文件上的javascript中的
    window.location.replace
    方法实现的

    $('#dgProject').datagrid({
        onCheck: function(rowIndex,rowData){
             window.location.replace("/path/MaintainProjectFrm?id="+rowData.id);
        }
    });
    

    您确定您应该
    $。获取
    ?它不是通过
    $发布的吗。post
    ?你确定你有
    。否则它就不知道什么是
    row.id
    。@RoySchoep,是的,我想用get来检索一个新表单(无论是新项目还是更新)和发布,只用于创建、更新和删除。这就坚持这个说法:@Will,身份证没问题,一切都好。问题是,当我通过jquery调用控制器时,方法的返回不会重定向到new/update jsp页面。当我用一个简单的方法调用控制器时,这个问题不会发生。我很确定这是一个关于jquery使用的简单问题,而不是spring或控制器的设计。
    function projectEdit() {
        var row = $('#dgProject').datagrid('getSelected'); //gets DataGrid object and its selected row
        if (row) {
         // at this point controller is called correctly but response doesn't go to the edit/update page.
            $.get("project/MaintainProjetoFrm", {id: row.id});
        }
    }
    
    $('#dgProject').datagrid({
        onCheck: function(rowIndex,rowData){
             window.location.replace("/path/MaintainProjectFrm?id="+rowData.id);
        }
    });