我需要将 url 传递到 php 页面。 url 可能包含也可能不包含特殊字符和编码变量。 例如考虑 ajax 请求。
var url = 'http://siteaddr.com/abc%20cdf%202012%20movies%20software/';
$.get('check_link.php',{url:url},function(){
//some function
});
php页面中变量$_GET['url']
的回显结果为http://siteaddr.com/abc cdf 2012 movie software/
%20 被转换为空格。我需要按原样接收网址。
尝试对 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
关于php - 将带有字符 %20 的 url 作为 ajax 变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13738886/