私は ajax から URL を受け取る php ページを持っていますencodeURIComponent()
。
PHPページで、私はそれの有無にかかわらず試しましurldecode()
た。どちらの方法&
でも & の代わりに含まれる同じ間違った URL が返されると思いstr_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-baseball-cap-black-bear&attrValue_0=Woodland&productId=1286129
後encodeURIComponent()
:http%3A%2F%2Fwww.llbean.com%2Fllb%2Fshop%2F77754%3Ffeat%3D502857-GN2%26page%3Dmen-s-mif-w-baseball-cap-black-bear%26attrValue_0%3DWoodland%26productId%3D1286129
php ページ:
後urldecode()
:http://www.llbean.com/llb/shop/77754?feat=502857-GN2&page=men-s-mif-w-baseball-cap-black-bear&attrValue_0=Woodland&productId=1286129
なしurldecode()
:http://www.llbean.com/llb/shop/77754?feat=502857-GN2&page=men-s-mif-w-baseball-cap-black-bear&attrValue_0=Woodland&productId=1286129
ありがとう