Почему сгенерированный PHP Javascript не работает в файле, загруженном через AJAX? - PullRequest
2 голосов
/ 02 декабря 2010

Я загружаю .php файл с помощью вызова ExtJS AJAX следующим образом:

menuItemApplication.header.on('click', function() {             
    Ext.Ajax.request({
        url: 'content/view_application.php',
        success: function(objServerResponse) {
            var responseText = objServerResponse.responseText;
            regionContent.update(responseText);
            var scripts, scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;
            while(scripts=scriptsFinder.exec(responseText)) {
                eval(scripts[1]);
            }
        }
    });
});

Javascript в загруженном .php файле выполняется нормально:

<script type="text/javascript">
     regionContent.update('changed region content from within application view');
</script>

Но если Javascript генерируется через PHP , не выполняется :

<?php
echo "<script type=\"text/javascript\">\n";
echo "regionContent.update('changed region content from within application view')';\n";
echo "</script>\n";
?>

Да, ответы такие же, как вПанель Firebug Net, здесь с Javascript, который работает :

alt text

А вот с PHP-генерируемым Javascript, который не работает :

alt text

Как мне заставить Javascript, сгенерированный PHP, выполнять?

Ответы [ 2 ]

4 голосов
/ 02 декабря 2010

Эти ответы не совпадают.Проверить ';против ;в конце там.

<?php
echo "<script type=\"text/javascript\">\n";
echo "regionContent.update('changed region content from within application view')';\n";
echo "</script>\n";
?>

против

<?php
echo "<script type=\"text/javascript\">\n";
echo "regionContent.update('changed region content from within application view');\n";
echo "</script>\n";
?>
2 голосов
/ 02 декабря 2010

В вашем PHP-коде есть дополнительная кавычка, которая приводит к некорректной работе кавычек в JavaScript;вместо:

echo "regionContent.update('changed region content from within application view')';\n";

Вам нужно:

echo "regionContent.update('changed region content from within application view');\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...