ajax提交返回的url因地址符转义导致链接地址无法访问

作者: wxfeng 分类: web前端 发布时间: 2017-04-17 00:00

问题描述:

为了防止对网站中下载链接信息的抓取,网站中的下载地址的获取换成了通过点击异步获取的方式,其中用到了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();
                    }
        });

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注