Переменная от Javascript -> Php -> Smarty ... это возможно? - PullRequest
0 голосов
/ 13 июля 2011

Пример:

<script type="text/javascript">
    insertVideos({
        'block':'youtubeDiv',
        'q':'keyword',
        'type':'search',
        'results':8,
        'order':'most_relevance',
        'player':'embed',
        'layout':'thumbnails'
    });
</script>

мне нужны эти «результаты» в качестве переменной для передачи, в конце процесса мне нужно что-то вроде: {if $results != 0} как я могу это сделать?

1 Ответ

1 голос
/ 13 июля 2011

Нет способа получить доступ к PHP / Smarty в вашем javascript, поскольку они выполняются в двух разных мирах.

Страница запрашивается с сервера. Сервер выполняет PHP и генерирует контент с помощью Smarty. Сервер отправляет полученный исходный код HTML и javascript клиенту. Сервер теперь готов. Если получен другой запрос, он начинается заново без знания предыдущего запроса.

Клиент получает исходный код HTML и javascript и отображает их. Метод insertVideos в конечном итоге получает вызовы. На данный момент он не взаимодействует с сервером и функциями PHP / Smarty.

Оттуда javascript может сделать запрос ajax обратно на сервер или, если я сделаю предположение, что вы хотите отображать видео, только если поиск найдет некоторые (results > 0), вы можете выполнить эту проверку в javascript и при необходимости добавьте / измените элементы dom.

...