Как правильно установить переменную ветки без вызова ajax - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь реорганизовать цепочечный вызов ajax (слишком цепочечный) для более простого способа разделения HTML, PHP и js с помощью twig.у меня есть что-то вроде:

  $.ajax({
    type: "GET",
    dataType: "json", 
    url: "{{ urlsf }}",// THIS WILL LOAD SOME DATA
    success: function (response) {
      $.ajax({
         type: "POST",
         data: { per: response } ,
         url: 'renderPage.php',
         success: function (cont_contador) {
           $('#main_content').html(cont_contador);
         }//end of success
      });//end of ajax for render call
    }//end of success
  });//end of ajax that loads data

Этот же успешный вызов ajax повторяется несколько раз, но я думаю, что одного достаточно, чтобы высказать свою точку зрения.RenderPage.php рендерит другой файл, который имеет одну функцию js / jquery и один div, который использует функцию ветки, PLUS устанавливает ответ как переменную ветки, передавая его массиву рендеринга.

Я переместил на главнуюбиблиотека и основная структура HTML (которая имеет ветку) при обработке нагрузки с моим контроллером.

Теперь вот где у меня возникают следующие проблемы: я не могу переместить ответ на ветку, используя javascript,Я не могу заменить веточку ответом javascript var, потому что эта переменная ветки используется в других местах кода.Я не хочу сохранять вызов ajax, фактически я хочу удалить его, чтобы сохранить только вызов json.


edit

Я постараюсь составить схему того, что я ищу:

  • главный контроллер : загружает php-соединения, устанавливает безопасность, устанавливает основные переменные ветки и отображает основной шаблон
  • основной шаблон : загружает библиотеки CSS и js, включая пользовательские функции jquery и main js, средите, содержит HTML и основные структуры блока веток, используя include.Вызываетready
  • js functions : содержит события и функции, связанные с HTML

На самом деле существует функция, запускаемая одним событием, которая вызывает API, возвращаетdata, затем рендерит одну часть, которая запускает другое событие, которое рендерит другую часть, затем запускает другую ..., которая может быть все запущена / загружена за один раз, но при одном из этих рендерингов она сохраняет одну переменную ветки, используемую в других частях сети.,Я хочу, чтобы эта переменная ветки была запущена другим способом.

1 Ответ

0 голосов
/ 05 марта 2019

Для дальнейшего использования, небольшое объяснение Twig:

Twig - это процессор шаблонов.Процессор шаблонов генерирует файл HTML из другого файла, который содержит HTML с дополнительными функциями, такими как:

  • переменные и функции
  • замена текста
  • включение файла (или включение))
  • условная оценка и циклы

Этот процесс происходит на на стороне сервера .Клиентская сторона получает только результат HTML.Языки на стороне клиента, такие как JS, могут напрямую изменять этот HTML, но не измененные переменные или циклы.Это потому, что JS никогда не видит эту логику.

С помощью AJAX вы все равно можете запустить серверный код.Я бы посоветовал изначально установить переменные ветки со значением в вашей базе данных .Всякий раз, когда вы изменяете эту запись в своей базе данных, все шаблоны будут обновляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...