首页 > 解决方案 > Jquery laravel中带有特殊字符的URL参数

问题描述

截至目前,我可以使用此代码访问我的 url 参数

aclparams 包含special characterlike+这个参数的值在哪里

Very High 15% +

在我的浏览器中看起来像这样

关联

http://localhost/whitelabs/yeast-bank?categoryID=3&searchType=YEAST&keyword=a&acl=Very%20High%2015%%20+

JS

 $( "#btnSearchYeast" ).click(function() {
        var keyword = $("#keyword").val();
        var categoryID = $( "#selectType2" ).val();
        var acl = $( "#selectType3" ).val();
        location.href="{{ url('yeast-bank') }}"+"?categoryID="+categoryID+"&searchType=YEAST&keyword="+keyword+"&acl="+acl;
        $( "#compareDiv" ).hide();
    });

但是当我试图dd($acl);在我的控制器上。

它返回这样的东西

在此处输入图像描述

+我的控制器中现在缺少标志的地方。如何按原样获取aclparam 的值?

标签: javascriptphpjquerylaravel

解决方案


您需要使用encodeURIComponent对字符串进行编码,以及在另一端使用decodeURIComponent :

const myString = "here + is a % dangerous & string"
const encodedString = encodeURIComponent(myString)
console.log(encodedString);
const decodedString = decodeURIComponent(encodedString)
console.log(decodedString)


推荐阅读