php - 将带有字符 %20 的 url 作为 ajax 变量传递

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

最佳答案

  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/

关于php - 将带有字符 %20 的 url 作为 ajax 变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13738886/

相关文章:

php - Mysql 查询针对类别显示同一列两次

php - 如何避免 CakePHP View 中出现 html 实体?

javascript - 查找 SPAN 并将其包裹在 DIV 中所有选定的单词周围

jQuery $.ajax POST 多选选择

python - 为什么Django的 "request_finished"信号会阻止响应?

php - 如果另一个表 ID 匹配则更新一个表

javascript - 根据 mySQL 数据库中的数据动态更改 svg 图像元素

javascript - 如何从一个按钮单击事件获取另一个按钮单击事件的值

javascript - Jquery 在单击时选择表行不起作用

javascript - 加载页面上带有 Canvas 的 XMLHttpRequest