- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Написал небольшой скрипт строк на 300, который получает на входе данные из двух полей в форме, методом пост передает их себе же.
Эти данные из двух полей вызывают два запроса в базу, на основании которых выводится таблица, которая заполняется через echo, а ниже, уже в цикле происходит еще один запрос в базу и так же echo выводится инфа.
Все работает как и задумывалось, то теперь хочу сделать всю эту красоту безе перезагрузки страницы.
Научился отправлять и обрабатывать POST запросы на ajax, но не пойму - а как же мне вывести в нужные места с десяток данных?
Сейчас, одна тестовая переменная выводится у меня функцией
$('#my_message').html(msg);
}
А когда нужно 10-20 разных переменных вывести, которые получаются в результаты обработки первых двух ПОСТ переменных - то как это делается?
300 строк? Хочу увидеть этот чудоскрипт!
Ну так в заголовке же написано - ajax. Правильно написано.
Надо разбить скрипт на две части. И запросы отправлять изнутри страницы через ajax, получая данные и выводя их, совершенно верно, через указанную функцию.
Изначально юзер видит просто форму с двумя полями.
В них он вводит по два слова, которые запрашиваются в базу и возвращают массивы с которыми я дальше работаю.
Один из эти подмассивов вызывает еще каскад запросов в базу и на выходе у меня с десяток переменных, а то и больше не считал.
Т.е. ушло со страницы 1 пост запрос с двумя переменными, а вернуть и разместить в разных местах (в таблице) нужно 10-20 переменных. Вот я и не пойму как это сделать.
Сейчас да - я разделил скрипт на две части
1. просто форма и JS код, отправляющий данные из формы пхп скрипту.
2. пхп скрипт с логикой.
непонятно как много переменных из логики обратно вернуть на страницу отдельными частями ?
---------- Добавлено 18.04.2020 в 09:50 ----------
Наверное мне в пхп скрипте где логика в самом низу нужно собрать все переменные в ассоциативный массив и передать обратно на страницу с формой в виде JSON ?
Можно:
а) возвращать PHP-скриптом HTML и, соответственно заменять блок целиком.
б) разобраться сколько всего переменных.. и каких.. и как они расставляются.. возможно, связать их имена|id-шники с селекторами и пробежаться циклом по получаемому JSON примерно так:
ivan-lev, спасибо! Мне кажется первый вариант идеально бы подошел в плане того, что переделывать меньше придется.
В итоге всю таблицу и все что ниже присвоить одной переменной?
И уже ее выводить?
Мне кажется первый вариант идеально бы подошел в плане того, что переделывать меньше придется.
Именно, что кажется. Ни к чему без необходимости постоянно пересылать кучу хтмл-кода, который можно просто написать на странице. И вёрстка более наглядно будет смотреться. Правильнее объект с данными на стороне сервера закодировать в джейсон, а на стороне клиента вставлять эти данные в нужные места.
Первый вариант чаще применяют, когда этот код нужен по требованию, например, форма обратной связи.
Сори за тупые вопросы, с JS впервые разбираюсь.
Итак собрал я все переменные в массив json, проверил, обратно он приходит в ответе.
Теперь как советовал ivan-lev хочу пройтись по нему циклом и сформировать дивы для вставки в разные части таблицы.
Как это сделать - так?
Как теперь понять какой $('#my_message'+prop).html(msg.prop); какую переменную содержит?
---------- Добавлено 18.04.2020 в 11:44 ----------
Вроде бы
а
Sitealert, выдает - undefined
Dram, ну надо же конкретно прописывать объекты. Этот код – для примера.