springmvc+ajax时controller中return跳转不了前台页面

前台:jsp页面用的是ajax传递参数

后台:spingmvc+配置了正确的viewResolver视图解析器

然后直接在controller里面return  “success”等,不返回,success.jsp页面

解决办法:

controller返回参数,利用@ResponseBody返回给前台json格式,然后在 ajax的success函数里面使用  window.location.href = "${pageContext.request.contextPath}/fail.jsp";

<script type="text/javascript" language="javascript">
    function doUpload() {
        var formData = new FormData($("#uploadForm")[0]);
        $.ajax({
            url : '${pageContext.request.contextPath}/controller.do(这里是controller路径)',
            type : 'POST',
            data : formData,
            async : true,
            cache : false,
            contentType : false,
            processData : false,
            enctype:'multipart/form-data',//注意一定要有该参数 
            dataType:"json",
            success : function(data,status) {
                
                    alert(status);
                    window.location.href = "${pageContext.request.contextPath}/fail.jsp";
                    alert("上传成功");
                
            },
            error : function(data,status) {
                alert("上传失败"+status);
            }
        });
    }
</script>

 

表单

<form id="uploadForm">
        <p>
            指定文件名: <input type="text" name="filename" value="" />
        </p>
        <p>
            上传文件: <input type="file" name="file" /></ p> <input type="button"
                value="上传" οnclick="doUpload()" />
    </form>

controller

@ResponseBody加在方法上,绑定返回参数,格式化成json,返回前台,回调函数接收。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Spring MVC,使用return语句可以实现页面跳转。具体来说,可以使用以下两种方式: 1. 返回逻辑视图名 在Controller方法,可以使用return语句返回一个逻辑视图名,Spring MVC会根据这个视图名来查找对应的视图文件,并将其渲染后返回给浏览器。例如: ``` @RequestMapping("/hello") public String hello() { return "hello"; // 返回逻辑视图名 } ``` 在这个例子,当用户访问/hello路径,Spring MVC会查找名为hello的视图文件,并将其渲染后返回给浏览器。 2. 返回RedirectView或RedirectAttributes 除了返回逻辑视图名外,还可以使用RedirectView或RedirectAttributes来实现页面跳转。RedirectView是一个Spring MVC提供的视图类,可以将请求重定向到另一个URL。例如: ``` @RequestMapping("/redirect") public RedirectView redirect() { RedirectView redirectView = new RedirectView(); redirectView.setUrl("/hello"); // 设置重定向URL return redirectView; } ``` 在这个例子,当用户访问/redirect路径,Spring MVC会将请求重定向到/hello路径。 另外,还可以使用RedirectAttributes来传递重定向需要的参数。例如: ``` @RequestMapping("/redirectWithParam") public RedirectView redirectWithParam(RedirectAttributes attributes) { attributes.addAttribute("name", "Tom"); // 设置重定向参数 RedirectView redirectView = new RedirectView(); redirectView.setUrl("/hello"); // 设置重定向URL return redirectView; } ``` 在这个例子,当用户访问/redirectWithParam路径,Spring MVC会将请求重定向到/hello路径,并将name参数设置为Tom。在/hello路径对应的Controller方法,可以使用@RequestParam注解来获取这个参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值