关于springmvc的controller返回页面无法跳转,使用ajax

来源:互联网 发布:适合女生看的a v 知乎 编辑:程序博客网 时间:2024/05/22 19:26

问题

在使用ajax提交数据到controller并且向跳转页面时,发现在controller中直接return一个页面的路径是无法跳转成功的,然后分宜了下原因之后好像是说ajax本省市不提供跳转功能的,虽然不知道这个原因对不对,但是还是需要找其他的方法来实现页面跳转。

解决方案

如果想要实现上述功能的话可以使用window.location.href=“xxx.do”,这样访问我们的controller之后可以实现页面跳转,并且放在modelMap中的数据也是可以在下一个页面中取到的。

下面放代码:

controller:

@RequestMapping("/articleDetails.do")public String articleDetails(HttpServletResponse response,HttpServletRequest request,ModelMap modelMap){String id = request.getParameter("id").toString();ComArticle comArticle = new ComArticle();comArticle.setId(Integer.parseInt(id));ComArticle details = comArticleService.selectDetails(comArticle);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String date = sdf.format(details.getRcdtime());modelMap.put("details", details);modelMap.put("date", date);return "comArticle/comArticleDetails";}

js:

$.post("homepage.do", { recordStart: pageCode*date, pageSize: date } , function(data){    pageCode=pageCode+1;            if(data.length<5){            for(var i=0;i<data.length;i++ ){             var yy="20" + (data[i].rcdtime.year.toString().slice(1,3));            var mm=parseFloat(data[i].rcdtime.month)+1;            mm=mm.toString().length==1?"0"+mm:mm;            var dd=data[i].rcdtime.date;            dd=dd.toString().length==1?"0"+dd:dd;            var date=yy+"-"+mm+"-"+dd;            var html='<a id="'+data[i].id+'" onclick="transferId(this)"><dl class="container"><dt><img src="'+data[i].headimage+'"/></dt><dd><h4 class="container"><span>'+data[i].comArticleCategory.categoryname+'</span></h4><p class="title">'+data[i].title+'</p><p class="date">'+date+'</p><p class="gary">'+data[i].description+'</p></dd></dl></a>';            $("#loadMore").before(html);            colorShow();            }
</pre><pre code_snippet_id="1628840" snippet_file_name="blog_20160330_5_144718" name="code" class="html"><pre name="code" class="html">function transferId(obj){    var id=obj.id;    $.ajax({       type: "GET",       success:function(data){             window.location.href = "articleDetails.do?id="+id;          }    });  }

解释

在上面的js中我想在var html中实现点击<a>标签跳转,这时候就需要用到window.location.href来实现

0 0
原创粉丝点击