2

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

var url = 'http://siteaddr.com/abc%20cdf%202012%20movies%20software/';
$.get('check_link.php',{url:url},function(){
    //some function
});

$_GET['url']php 页面中变量的回显结果是http://siteaddr.com/abc cdf 2012 movies software/ %20 被转换为空格。我需要按原样接收网址。尝试对网址进行编码和解码。但我没有得到我需要的结果。

4

1 回答 1

0
  1. 您不应该使用将用作键的名称来定义变量。
  2. 再次对 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
    

http://jsfiddle.net/zNqac/

于 2012-12-16T17:08:38.440 回答