Как правильнее передавать Ajax параметры

Предположим что вам нужно с определенного инпута отправлять аякс запрос на сервер, к примеру что бы проверить занят логин или нет при регистрации нового пользователя. Для этого вы пишите примерно следующую конструкцию:

Разберем строчку data: ‘login=’+input.val(), тут мы делаем строку из строки login= и input.val() и в результате получаем примерно следующее — login=user_login

А теперь представим что будет если пользователь введет к символ &, можете попробовать сделать это у себя. В итоге будет передаваться 2 переменные, наша login и все то что после символа

Есть 2 способа как можно «обернуть» наши данные

  1. Используйте функцию encodeURIComponent(), в итоге будет что то вроде ‘login=’+encodeURIComponent(input.val())
  2. А вот второй способ более красивый и правильный, все что нам нужно это создать объект и поместить туда наши данные — {login: input.val()}

В итоге ваш код будем примерно таким:

Добавить комментарий