ajax提交返回的url因地址符转义导致链接地址无法访问
问题描述:
为了防止对网站中下载链接信息的抓取,网站中的下载地址的获取换成了通过点击异步获取的方式,其中用到了ajax提交的方式,功能完成后,在返回url地址时发现:如果url链接地址当中含有地址符“&” 会转义为&导致地址无法访问。这是由于& 等字符在XML里,有特殊的意义,所以当AJAX使用xml格式的时候,会自动进行转义。
解决方法:
在获取到链接地址后,运用js替换字符串的amp;为空,保留&即可,如下所示:
$.ajax({
url:"接收ajax请求的地址",
data:postdata,
type:'post',
cache:false,
success:function(url){
url= url.replace(/amp;/g, "");
w.location = url;
},
error: function(){
w.close();
}
});