用tp5.1做项目时遇到一个由于需要同时用了ajax和location传值,但是发现通过requery获取值时发现获取不了ajax传过来的值
//这里使用para,因为我自己用过$_POST和$_GET都不行,所以这些是基于用para()基础上说的哈
$request=new Request();
$list_id=$request->param('href_id');
//localtion.href这样写的,名字为id
location.href="inform_commment?id="+encodeURI(e.id);
//ajax是这样
$.ajax({
url: 'inform_commment',
type:"POST",
data:{href_id:id},
dataType:"json",
",
});
通过 r e q u e s t = n e w R e q u e s t ( ) ; request=new Request(); request=newRequest();list_id=$request->param(‘href_id’);获取值时发现获取不了ajax传过来的值,但是当 r e q u e s t = n e w R e q u e s t ( ) ; request=new Request(); request=newRequest();list_id=$request->param(‘id’);这样是就获得了location.href的值,原以为是优先级问题,查了资料发现是如果你的location和ajax是同层,那么location在前面则先执行location先执行,如果ajax在前则要看你的ajax是异步还是同步,同步的话是ajax先执行,执行完了再执行location,异步的话可能ajax还没执行完,location就已经执行,当然如果不是同级的,location放在ajax返回回掉方法里,则按顺序执行,所以根据自己情况进行调整。