Здравствуйте. Сразу извиняюсь за тупой вопрос(общей сути), но хочу, так сказать, подтянуться. Есть 2 вопроса:
1) Ajax, как я понял, существует для передачи данных на сервер и обработки ответа от него. Могу ли я использовать ajax просто для обмена данными(переменной) между страницами? Знаю, что можно сохранять их, например, в локальном хранилище или куках, но... Выглядит это не особо профессионально :D.
2) Если "да" на первый вопрос, то как я могу обработать(получить) значение отправленной переменной на странице с помощью js? Ведь, как я понимаю, я отправляю переменную именно на страницу (html), а не в подкреплённый js-файл. А в подкреплённом js'е есть функции, в которых нужно юзать значения отправленной переменной.
Надеюсь, понятно сформулировал свой вопрос. Спасибо.
Ты не отправляешь переменную на страницу. Ты делаешь запрос на сервер. И сервер формирует (html-)страницу используя данные которые были в запросе.
В частности сервер может сформировать вызов скрипт с вызовом js-функции, или просто подложить данные в заранее оговорённые места или ещё как-то сделать данные доступными для js который будет выполняться на странице.
Ajax, как я понял, существует для передачи данных на сервер и обработки ответа от него.
Важное уточнение - без перезагрузки страницы. То есть как раз поведение противоположное тому что вам надо.
Знаю, что можно сохранять их, например, в локальном хранилище или куках, но... Выглядит это не особо профессионально :D.
Зависит от целей и задач передачи. Если данные чисто информационного характера, не влияющие на функционал серверной части, то хранение в куках или локалстораже оправдано (например некоторая кастомизация внешнего вида станиц на основе жс и переменных из локального хранилища). Защищенные данные обычно хранят на стороне сервера, например в сессии.
А для передачи пользовательских данных обычно используются формы (пример - логин или регистрация), которые передают от одной страницы в другую зашифрованные данные либо как параметры урл (метод гет), либо через заголовки и тело запроса (метод пост).
Благодарю за разъяснения.
Просто была задача, ответ на которую я понял чуть позже, когда ложился спать :D.
Мне нужно было создать для сайта логику категорий (На главной странице нажимаешь кнопку с категорией и тебя кидает на страницу категорий с id-категории: //mysite/category?id=... . Примерно такой логики). Не знаю, с чего вдруг я решил передавать данные ajax'ом, когда вчера меня осенило, что я просто могу на другом js-файле разобрать url и уже оттуда вытащить нужные мне данные.
Чем больше знаю, тем лучше понимаю, как мало знаю.
Да, можно. Как передавать данные на сервер, так и принимать данные с сервера. С переменными проблем нет, можно использовать "вредный" способ с eval(), можно распаковывать JSON прямо в переменные, можно создавать переменные на основе скачанных данных.