@givemoneybiatch
Немного веб, немного гейм

Как закодировать символ & в GET запросе?

С фронтенда отправляю данные GET-запросом: имя, мейл. На бекенде (php, Laravel) эти данные считываю. Проблема появляется, когда в имени содержится символ '&', тогда имя обрезается на этом. Как мне отправлять параметры, чтобы не было подобных проблем? Постом не получается - вылазит ошибка csrf токена, которая непоянтно как там взялась и как ее пофиксить ( возможно из-за того что домен не ssl?). В общем, в приоритете GET, т.к. данные не секретные и проще обрабатывать. Пример строки:
'page?name=G&Company&email=email@email.com'
  • Вопрос задан
  • 1779 просмотров
Решения вопроса 2
AlexReal
@AlexReal
Супермен
Чтобы постом не вылазила ошибка csrf, отправляйте с запросом заголовок с токеном, например вот так:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
При условии конечно, что соответствующий мета тег включен в хидер вашего html.
Ответ написан
Комментировать
riot26
@riot26
<:З )~~
Постом не получается - вылазит ошибка csrf токена

Вот эту проблему решать и нужно. В доках всё описано https://laravel.com/docs/5.6/csrf#csrf-x-csrf-token

Как закодировать символ & в GET запросе?

encodeURIComponent()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
URL-кодировать их. В PHP - функция urlencode, в JS - encodeURIComponent
Ответ написан
Комментировать
@frees2
В принципе, прошу прощения, может не совсем по теме, если есть ?name= можно отправлять запросы и без '&', используя свой символ, так делал, а разбирать его или по иному применять при получении.
?name= Можно передавать время в строке, а дальше к примеру шифровать или не шифровать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы