PHP отправляет HTML на JS - PullRequest
       31

PHP отправляет HTML на JS

0 голосов
/ 12 февраля 2010

У меня есть div на странице, где содержимое меняется в зависимости от значения, выбранного в раскрывающемся списке. Поскольку в этом div содержится большое количество форматированного контента, я хочу, чтобы php-скрипт предоставлял html, который хранится в файле в системе.

Я не могу найти способ заставить php возвращать содержимое этого файла, которое по существу содержит много тегов и содержимого div, в виде текста к сценарию ajax. Который затем изменил бы содержимое в div на странице.

Внутренний php использует CakePHP и использует YUI3 в качестве внешнего интерфейса.

В решение не нужно включать какой-либо торт, если это необходимо.

Спасибо!

Ответы [ 3 ]

1 голос
/ 12 февраля 2010

«Я не могу понять, как php возвращает содержимое этого файла»

echo file_get_contents( $filepath );

Для части ajax на веб-сайте (хотя вы, кажется, не просите об этом):

var xmlhttp;
if( window.XMLHttpRequest )
    xmlhttp = new XMLHttpRequest();
else if( window.ActiveXObject )
    xmlhttp = new ActiveXObject( "Microsoft.XMLHTTP" );     // Use ActiveX in IE
else {
    alert( 'Your browser doesn\'t support XMLHttpRequest.' );
    return;
}
xmlhttp.eid = eid; // <-- id of the div to be filled with the content from the file
xmlhttp.onreadystatechange = function() {
    if( xmlhttp.readyState == 4 ) {
        document.getElementById( xmlhttp.eid ).innerHTML = xmlhttp.responseText;
    }
}
xmlhttp.open( "GET", "phpfile.php", true );
xmlhttp.send( null );

Редактировать: Учтите, что это решение может отличаться от вашего фреймворка.

1 голос
/ 12 февраля 2010
0 голосов
/ 12 февраля 2010

Вы также можете создать представление для каждого типа HTML-формы и вернуть его через помощника ajax. Это даст вам больше гибкости; Вы даже можете добавить немного логики php в эту HTML-форму и так далее ...

Хранить отформатированную HTML-форму в файле слишком примитивно, потому что действительно легко представить ситуацию, когда вам нужно будет заполнить некоторые теги содержимым из вашей БД. Выполнение этого с «представлением» даст вам эту возможность.

С уважением.

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