Как я могу эхо PHP в jQuery?

Я пытаюсь использовать одну из моих функций PHP в одной из моих функций jQuery. Я понимаю, что он не выполнит код, но мне нужно выполнить эхо вызова функции, чтобы сервер мог обработать его. Пока у меня это:

.html('<h2>Please <a href=""<?php echo absolute_url("login.php"); ?>"">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)') 

Но он работает неправильно. Я слышал, что мне нужно приложить фактический вызов функции php в Javascript с кавычками, которые я сделал (как одиночные, так и двойные), но они не сделали этого трюка. Есть идеи?

Вся функция для любого, кто задается вопросом:

  // login or register notification $(document).ready(function() { $('.notice').click(function() { $('.error-notification').remove(); var $err = $('<div>').addClass('error-notification') .html('<h2>Please <a href=""<?php echo absolute_url("login.php"); ?>"">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)') .css('left', $(this).position().left); $(this).after($err); $err.fadeIn(150); }); $('.error-notification').live('click', function() { $(this).fadeOut(150, function() { $(this).remove(); }); }); }); 

Вы не можете – команды php выполняются во время загрузки страницы – ваша страница уже загружена и отображена. Вы должны знать, что php – это код на стороне сервера . Это означает, что когда ваш сайт запрашивается, ваш сервер генерирует выходной файл и заполняет все значения эха в ваш выходной файл. Клиент получает страницу со всеми переменными, отобранными на вашей странице, – никакие команды php никогда не выдаются клиенту, это инструкции для вашего сервера для компиляции веб-страницы обратно клиенту.

Почему бы вам просто не сохранить absolute_url («login.php») в переменной javscript во время вашей pageload

 var loginUrl = "<?php echo absolute_url("login.php"); ?>"; 

а потом

 .html('<h2>Please <a href="' + loginUrl + '">Login</a>').... 

Edit – oh wait duh – вы делаете это: P извините за касательную, ваш файл js связан с вашей страницей, это заглушка, указывающая на файл, который будет включен. Это не регистрирует команды php.

Это на самом деле ничего не сделает, как вы отметили в своем вопросе, но попробуйте:

 $('elem').html('<h2>Please <a href="<?php echo absolute_url("login.php"); ?>">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)'); 

Если это происходит с PHP-страницы, попробуйте:

 $('elem').html('<h2>Please <a href="&lt;?php echo absolute_url("login.php"); ?&gt;">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)'); 

Очевидно, интерпретатор PHP никогда не увидит этого, и PHP-код никогда не будет выполнен, как вы уже отметили в своем вопросе.

вы не можете сделать это в своем js-файле, но вы можете сделать это в <script> в HTML-файле.

 .html('<h2>Please <a href="<?php echo absolute_url(\"login.php\"); ?>">login</a> or <a href="signup.php">register</a> to vote for this post. </h2>(click on this box to close)') 

Вы проверили исходный код страницы результатов? я бы использовал только один «до и после php-тегов»

Я думаю, что правильный способ использовать php из Javascript – это создать веб-службы (в php) и вызвать их из вашего Javascript. Если вы хотите по-настоящему разобраться, вы можете отправить php-контент на сервер с помощью веб-службы, записать ее в виде временного файла, затем «потребовать» файл и запустить его … это совсем не так, существует очень уникальный прецедент, который нельзя сделать иначе. PHP, как чрезвычайно динамичный язык, допускает такое использование.

yu go для php ??? i, что это невозможно в js ,,

Лучше всего использовать html, очень эффективный и простой в консоли.

 .html('<h2>Please <a href="login.php">login</a> or <a href="signup.php">register</a> to vote for this post.</h2>(click on this box to close)')