Вызов и реализация кода PHP + javascript с использованием ajax - PullRequest
0 голосов
/ 05 июня 2011

У меня есть смешанный код php + (vanilla javascript) внутри php файла.Я назвал код внутри этого файла с помощью ajax.

Пример кода php

echo "<script type='text/javascript'>
  alert('Hello')
</script>";

Проблема в том, что код PHP выполняется, но код JavaScriptне выполняется.

Есть ли решение для реализации двух кодов PHP + JS, использующих ajax-запрос

Пожалуйста, я хочу, чтобы пример vanilla javascript не содержал никакой структуры javascript

Ответы [ 3 ]

0 голосов
/ 05 июня 2011

PHP на стороне сервера, а JavaScript на стороне клиента. Если вы выполните AJAX-запрос к странице PHP, эта страница отобразит свой PHP и отправит результат обратно как текст (или XML или ...). Сценарий должен получить этот вывод, чтобы выяснить, что с ним делать.

В вашем случае, скорее всего, вы получаете такую ​​страницу от AJAX:

<script type='text/javascript'>
alert('Hello')
</script>

Это сохраняется в виде простого текста и передается обратному вызову в вашей функции AJAX. Чтобы справиться с этим, я бы рекомендовал некоторую реализацию AJAX для фреймворка, например jQuery.ajax () :

$.ajax({
  url: "test.php",
  success: function(data) {
    alert(data);
    // Expected output - User alert saying
    // <script type='text/javascript'>
    // alert('Hello')
    // </script>
  }
});
0 голосов
/ 05 июня 2011

Вы должны показать код вызова ajax.

Вы используете jquery?

Этот пример может помочь вам для javascript ajax

http://www.switchonthecode.com/tutorials/simple-ajax-php-and-javascript

http://www.tizag.com/ajaxTutorial/ajax-javascript.php

JQuery AJAX

http://api.jquery.com/jQuery.post/

0 голосов
/ 05 июня 2011

Вы не показали, как вы вызываете этот PHP-скрипт с AJAX. Когда вы получаете ответ сервера, вам нужно вставить его где-нибудь в DOM, чтобы скрипт был включен и выполнен.

Например, если вы используете jQuery, вы можете использовать метод $.ajax() следующим образом:

$.ajax({
    url: '/foo.php',
    success: function(result) {
        $('body').append(result);
    }
});

или ваш PHP-скрипт может напрямую возвращать JavaScript (без тегов <script>):

echo "alert('Hello')";

, а затем используйте метод $.getScript():

$.getScript('/foo.php');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...