Выполнение PHP-кода в файлах JavaScript
Привет всем. У меня есть javascript файл, который генерирует форму регистрации. Полностью приводить не стал, привел только фрагмент. Сейчас мне необходимо, чтобы внутри это файла выполнялся пхп код. Как это реализовать? Можете на примере показать, как объединить два приведенных листинга. Необходимо, например, вывести ФИО не напрямую, а через пхп.
<?php echo 'ФИО';?> function(){ return'<input type="text" id="overlay-signup-form-name" name="name" class="signup-name" placeholder="{{#esc_attr}}{{#tl}}ФИО{{/tl}}{{/esc_attr}}" autocomplete="off">\n' }) |
Цитата:
можно выполнить PHP на сервере, потом принять ответ аяксом |
А если так? .htaccess
AddType application/x-httpd-php .js AddHandler x-httpd-php5 .js <FilesMatch "\.(js|php)$"> SetHandler application/x-httpd-php </FilesMatch> |
Припустим есть PHP файл <?php echo 'Ваша фамилия'; ?> ($fio = нужное вам значение значение)
что-бы получить $fio на клиенте обращаемся аяксом на сервер <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open('GET', 'fio.php', true); // url = нужный вам адрес xhr.send(null); xhr.onreadystatechange = function(){ if (xhr.readyState != 4) return; if (xhr.status != 200){ alert(xhr.status + ': ' + xhr.statusText); }else{ // если нет ошибок возвращаем нужный текст document.querySelectorAll('#content')[0].innerHTML = '<input type="text" id="overlay-signup-form-name" name="name" class="signup-name" placeholder="' + xhr.responseText + '" autocomplete="off">\n'; } } </script> <div id="content"></div> |
Цитата:
|
Спасибо. Все работает!!!
|
Хотел спросить, а если нужно получить несколько переменных?
|
Цитата:
|
Спасибо.
|
Цитата:
|
Цитата:
Но тут есть одно но. Жырное такое, НО. Если вы будете рендерить хтмл нативными методами, типа там создать ноду, профтыкать в нее проперти, профтыкать в родитель, родителя в боди - у вас даже на хорошей либе получится куча кодов, то есть текстов, байтов, которыми могли бы бы тупо коды хтмля сделанного прямо на сервере. А если js как у вас будет передавать шаблон в хтмл, то вообще эквипенисуально по байтам. Генерить хтмл имеет смысл когда многое в нем зависит от контекста, а когда там вечное - нахер. |
Часовой пояс GMT +3, время: 00:01. |