php页面与ajax之间的URL编码问题

php页面与ajax之间的URL编码问题,php,jquery,ajax,url,Php,Jquery,Ajax,Url,我有一个从ajax接收url的php页面,该url在使用ajax发布之前要经过encodeURIComponent() 在php页面中,我尝试使用urldecode()或不使用它。两种方法都返回相同的错误url,其中包含&而不是&我想我可以str_replace但我认为这里还有其他问题,replace可能不是答案 html/ajax代码: var ajax_url = $('#base_url').val() + 'xxx'; var url_to_search = encodeURICo

我有一个从ajax接收url的php页面,该url在使用ajax发布之前要经过
encodeURIComponent()

在php页面中,我尝试使用
urldecode()
或不使用它。两种方法都返回相同的错误url,其中包含
&
而不是&我想我可以
str_replace
但我认为这里还有其他问题,replace可能不是答案

html/ajax代码:

var ajax_url = $('#base_url').val() + 'xxx';
var url_to_search = encodeURIComponent($('#sometextfield').val());
$.ajax({
    type: "POST",
    url: ajax_url,
    data: { ajax_vari: "ajax", url_to_search: url_to_search}
    }).success(function(insertID) {
        alert(insertID);
    });
php页面:

if(isset($_POST['ajax_vari']) && $_POST['ajax_vari'] == 'ajax'){
     echo $_POST['url_to_search'];
     echo urlencode($_POST['url_to_search']);
}
URL示例:

html/ajax

原始URL:
http://www.llbean.com/llb/shop/77754?feat=502857-GN2&page=men-s-mif-w-Basketball-cap-black-bear&attrValue_0=Woodland&productId=1286129

encodeURIComponent()
http%3A%2F%2Fwww.llbean.com%2Fllb%2Fshop%2F77754%3Ffeat%3D502857-GN2%26页%3Dmen-s-mif-w-barball-cap-black-bear%26attrValue\u 0%3DWoodland%26productId%3D1286129

php页面:

urldecode()之后
http://www.llbean.com/llb/shop/77754?feat=502857-GN2&;page=男士-s-mif-w-棒球-cap-黑熊&;attrValue_0=林地&;productId=1286129

没有
urldecode()
http://www.llbean.com/llb/shop/77754?feat=502857-GN2&;page=男士-s-mif-w-棒球-cap-黑熊&;attrValue_0=林地&;productId=1286129


谢谢

您从哪里获得url?请记住,PHP已经为您解码了进入$\u GET/$\u POST的数据。关于php对数据的解码,没有太大区别,因为在两个示例中,无论是否使用urldecode,返回的答案都是一样的。那么,问题是什么<代码>&是将
&
放入url的正确方法。不是每个人都这么做,但如果你不这么做,w3c验证器会对你大喊大叫。但在某些情况下,就像我上面给出的那样,url带有
&返回一个不同的页面,然后它将与&。请发布您的实际代码。