jquery — jsPanel, отображающий вывод PHP

Я использую jsPanel для создания плавающего окна ‘панели’ следующим образом:

 $.jsPanel({
headerTitle: 'Some title',
content: '<p> Hello world! </p>'
})

Это прекрасно работает, но у меня возникают проблемы с тем, что я хочу, чтобы этот «контент» содержал данные PHP. Например:

     $.jsPanel({
headerTitle: 'Some title',
content: '<?php echo "Hello world!"; ?>'
})

Это не работает. Итак, что я пробовал это:

         $.jsPanel({
headerTitle: 'Some title',
contentAjax: {url: 'helloworld.php'}
})

Неудачно. Итак, после дальнейших поисков, я нашел что-то похожее:

   $.jsPanel({
headerTitle: 'Some title',
load: {url: 'helloworld.php'}
})

… что тоже не сработало.

Так что я думаю, мои вопросы таковы —

  • Как я могу получить код PHP для правильного вывода в плавающее окно «jsPanel»?
  • Почему ajax / load делает то же самое, и в чем здесь разница?

0

Решение

Давайте начнем с самого простого рабочего примера, который использует option.contentAjax

$.jsPanel({
headerTitle: 'Some title',
contentAjax: 'test.php'
});

Теперь test.php (который обрабатывается на сервере) требуется для вывода чего-то полезного, чтобы добавить его в панель.

test.php:

<?php
echo "<p style='text-align:center;'>Lorem ipsum dolor ...</p>";
?>

Более подробный пример JavaScript был бы:

$.jsPanel({
headerTitle: 'Some title',
contentAjax: {
url: 'test.php',
done: function( data, textStatus, jqXHR, panel ) {
panel.content.append(data);
}
}
});

Всегда помните, что PHP-код работает на сервере.

Ваш последний пример кода не работает, потому что в jsPanel нет option.load. Но вы можете использовать jQuery.load () как:

$.jsPanel({
headerTitle: 'Some title',
callback: function() {
this.content.load('test.php');
}
});

или же:

$.jsPanel({
headerTitle: 'Some title',
content: function() {
$(this).load('test.php');
}
});

Надеюсь, я смогу немного помочь …

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]