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

问题

在使用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+'" οnclick="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来实现

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值