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

来源:互联网 发布:c语言中的echo 编辑:程序博客网 时间:2024/05/20 11:27

前台: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="上传" onclick="doUpload()" />    </form>

controller

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

阅读全文
0 0