日期:2014-05-16  浏览次数:20396 次

有一个js获取当前地址的问题
$(function(){


var ref=document.referrer;

var url=document.URL;

alert(url);


$.ajax({
  type:'GET',
  url:'/axphp/ax/core/from.php?ref='+ref+'&url='+url+'&num='+Math.random(),
  success:function(msg){
 // alert(msg);
  },
  error:function(){alert('error');}

});



});



这里的 url 实际是: http://192.168.1.32/gongsiyou/?uid=1&ad=13&stn=mj

alert(url) 也是这个值,

但是到了 from.php 里没做任何处理就变成了: http://192.168.1.32/gongsiyou/?uid=1

这是何故?

------解决方案--------------------
get时URL后面的&被当成了你发送的参数,因此失去了完整性
------解决方案--------------------
得到url后编码一下
encodeURIComponent(url)
或是
escape(url)

试试吧
------解决方案--------------------
唉,发的贴子又不见了
encodeURIComponent(url)

escape(url)
试试吧
------解决方案--------------------
url:'/axphp/ax/core/from.php?ref='+ref+'&url='+url+'&num='+Math.random(),
这里写的有问题,url每遇到一个&就认为是一个参数,所以你的url这个参数在第一个&之后的就没有用了。
向楼上说的可以进行编码后传值。