Параметры URL со специальными символами в Jquery laravel - PullRequest
2 голосов
/ 02 августа 2020

На данный момент я могу получить доступ к своим параметрам URL, используя этот код

acl params содержит special character как +, где значение этого параметра

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); на моем контроллер.

Он возвращает что-то вроде этого

введите описание изображения здесь

Где + теперь отсутствует в моем контроллере. Как я могу получить значение acl param как есть?

Ответы [ 2 ]

1 голос
/ 02 августа 2020

вам необходимо закодировать это в формате URI

правильная закодированная версия:

encodeURIComponent( "Very High 15% +")

== 

"Very%20High%2015%25%20%2B"
1 голос
/ 02 августа 2020

Вам необходимо использовать encodeURIComponent для кодирования вашей строки, а также decodeURIComponent на другом конце:

const myString = "here + is a % dangerous & string"
const encodedString = encodeURIComponent(myString)
console.log(encodedString);
const decodedString = decodeURIComponent(encodedString)
console.log(decodedString)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...