解决ajax跳转分类时返回还是在当前控制器方法中的问题

我呢是因为在做app时,测试提出的问题,返回不到上一次点击的ajax的页面,所以就有了这个
反正呢我们是用ajax做的整个订单列表一个页面搞定,,,,

//url js 实现参数无刷新替换
//url -> 当前路径 arg ->参数名 arg_val->参数要替换的值
function changeURLArg(url,arg,arg_val){
var pattern=arg+'=([^&]*)';
var replaceText=arg+'='+arg_val;
if(url.match(pattern)){
var tmp='/('+ arg+'=)([^&]*)/gi';
tmp=url.replace(eval(tmp),replaceText);
return tmp;
}else{
if(url.match('[\?]')){
return url+'&'+replaceText;
}else{
return url+'?'+replaceText;
}
}
}
应用实例
利用ajax点击事件触发替换
替换后 http://www.c.com/index.php/Shop/Member/order_list?type=1
<a οnclick="ajax_order_list(1)"><span>待付款</span></a>
<script type="text/javascript"   src="../PublicShop/js/xback.js"></script>
<script type="text/javascript"   src="../PublicShop/js/jquery.histroy.js"></script>

function ajax_order_list(otype){
 //监控手机的物理返回键,调转自己想返回的页面

XBack.listen(function(){
    window.location.href='__APP__/Shop/Member/index';

}); 

 //更该地址栏参数,防止点击订单详情返回时不是离开的界面的bug

history.pushState('x-back', null, location.href);
var newUrl=changeURLArg(window.location.href,otype);
var stateObject = {};
var title = "";
history.pushState(stateObject,title,newUrl);
$("#main_order_list").html('');
type=otype;
page=1;
$(".member_order .tit_01 a").removeClass('h');
$(".member_order .tit_01").find('a').eq(otype).addClass('h');

$.ajax({
  type: 'post', 
  url: '__APP__/Shop/Member/ajax_order_list',
  data: 'type='+type+'&page='+page+'&n='+Math.random(),
  success: function(msg){  
if(msg.res=='ok'){
$("#main_order_list").append(msg.msg);
page++;  
page_flag=true;
}else{
$("#main_order_list").html('<div style=" line-height:50px; padding-left:30px;">暂无订单</div>');
page_flag=false;
return false;
}
  },
  dataType: 'json'
});
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值