используя php включить в jquery - PullRequest
3 голосов
/ 05 января 2011

Что я пытаюсь сделать, так это использовать php include в атрибуте jquery append. как то так:

$('a.popup[href^=#]').click(function() {
$('body').append('<div id="content" class="popup_block"><?php include( SITE_URL . 'activity/popup.php' ) ?></div>');

Мой скрипт находится в php-файле на стороне сервера, так что я могу это сделать, но я не уверен, как это сделать. Когда дело доходит до html, css и т. Д., Я могу комбинировать их и php в файле php, но когда дело доходит до javascript, меня смущают цитаты, а также когда и как использовать скобки. Это может показаться странным, лол. В любом случае, CDATA имеет какое-либо отношение к этому? Я никогда не использовал его раньше, но я должен хотя бы узнать, как он используется.

Ответы [ 2 ]

4 голосов
/ 05 января 2011

Интерпретатор PHP будет искать только теги <?php и ?> и пытаться оценить что-либо промежуточное.Его не волнуют окружающие цитаты.Тем не менее, вам нужно убедиться, что результат того, что делает PHP, является действительным Javascript.

var foo = '<?php include 'foo.php'; ?>';

становится

var foo = 'This is the content of foo.php.';

после того, как PHP завершит работу с ним.в foo.php есть любые кавычки, они могут выглядеть так:

var foo = 'This is the 'content' of foo.php.';

, что является недопустимым синтаксисом Javascript.Вам нужно будет экранировать любой символ foo.php, который может вызвать такой недопустимый синтаксис, например, с addslashes.Это может быть довольно громоздким, поэтому я бы посоветовал поискать альтернативу для начала.

Вы можете кодировать значение, используя JSON, что определенно безопасно для синтаксиса:

var foo = <?php echo json_encode("Some string with 'quotes'."); ?>;

Генерировать код в коде всегда сложно, старайтесь не делать этого и придерживайтесь нейтральных по отношению к языку форматов обмена данными, таких как JSON или XML.

1 голос
/ 05 января 2011

Если вы на 100% уверены, что в вашем списке нет ни одной кавычки, не должно быть проблем с тем, как она у вас есть.

Если вы хотите визуализировать его, скопируйте весь сгенерированный код из прилагаемого php-файла и вставьте его прямо на главную страницу внутри append(). Посмотрите, как это выглядит. Это даст вам хорошее представление о том, чем в конечном итоге будет пользоваться браузер.

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