Php 以字符%20作为ajax变量传递url

Php 以字符%20作为ajax变量传递url,php,jquery,ajax,url,Php,Jquery,Ajax,Url,我需要将url传递到php页面。url可能包含也可能不包含特殊字符和编码变量。 例如,考虑Ajax请求。 var url = 'http://siteaddr.com/abc%20cdf%202012%20movies%20software/'; $.get('check_link.php',{url:url},function(){ //some function }); php页面中变量$\u GET['url']的回显结果是http://siteaddr.com/abc cdf

我需要将url传递到php页面。url可能包含也可能不包含特殊字符和编码变量。 例如,考虑Ajax请求。

var url = 'http://siteaddr.com/abc%20cdf%202012%20movies%20software/';
$.get('check_link.php',{url:url},function(){
    //some function
});
php页面中变量
$\u GET['url']
的回显结果是
http://siteaddr.com/abc cdf 2012电影软件/
%20已转换为空格。我需要按原样接收url。 尝试对url进行编码和解码。但是我没有得到我需要的结果

  • 您不应该使用将用作键的名称定义变量
  • 在发送URL之前,再次编码URL将使PHP对双重编码的URL进行解码

    var link = 'http://siteaddr.com/abc%20cdf%202012%20movies%20software/';
    $.get('check_link.php',{url: encodeURIComponent(link)}, function(){
        //some function
    });
    // Double encoded URL: Note that % has become %25
    // http%3A%2F%2Fsiteaddr.com%2Fabc%2520cdf%25202012%2520movies%2520software%2F
    

  • 它!或者这是你已经做过的吗?通过编码,我将收到正确编码的整个url。所以我必须在php页面对其进行解码。通过解码,它也会解码url中的%20。。。这是我需要的一些替代..这是
    http://siteaddr.com/abc%20cdf%202012%20movies%20software/
    results
    http%3A%2F%2Fsiteaddr.com%2Fabc%20cdf%202012%20movies%20software%2F
    http://siteaddr.com/abc cdf 2012电影软件/
    将丢失%20。如果您执行
    $url怎么办=urlencode($_GET['url'])?或者,您可以使用
    preg\u replace()