Насколько касается PHP (или на самом деле, веб-сервер в целом), HTML-страницы нет ничего сложнее, чем большой строки.
Вся фантастическая работа, которую вы можете сделать с помощью языка, такого как PHP, - чтение из баз данных и веб-сервисов, и все это - конечная цель - это тот же самый основной принцип: сгенерируйте строку HTML *.
Ваша большая строка HTML не станет чем-то более особенным, чем до загрузки браузера. Как только браузер загружает страницу, затем происходит вся другая магия - макет, материал модели коробки, создание DOM и многое другое, включая выполнение JavaScript.
Итак, вы не вызываете JavaScript из PHP, вы «включаете вызов функции JavaScript в свой вывод».
Существует много способов сделать это, но вот пара.
Используя только PHP:
echo '<script type="text/javascript">',
'jsfunction();',
'</script>'
;
Выбираясь из режима PHP прямого режима вывода:
<?php
// some php stuff
?>
<script type="text/javascript">
jsFunction();
</script>
Вам не нужно возвращать имя функции или что-нибудь подобное. Прежде всего, прекратите писать запросы AJAX вручную. Ты только делаешь упор на себя.Получите jQuery или одну из других отличных фреймворков.
Во-вторых, поймите, что вы уже собираетесь выполнять javascript-код после получения ответа от вызова AJAX.
Вот пример того, что я думаю, что вы делаете с помощью AJAX JQuery в
$.get(
'wait.php',
{},
function(returnedData) {
document.getElementById("txt").innerHTML = returnedData;
// Ok, here's where you can call another function
someOtherFunctionYouWantToCall();
// But unless you really need to, you don't have do
// We're already in the middle of a function execution
// right here, so you might as well put your code here
},
'text'
);
function someOtherFunctionYouWantToCall() {
// stuff
}
Теперь, если вы мертвы, установлен на посылке имя функции из PHP обратно на вызов AJAX, вы можете сделать это тоже.
$.get(
'wait.php',
{},
function(returnedData) {
// Assumes returnedData has a javascript function name
window[returnedData]();
},
'text'
);
* Или JSON или XML и т.д.
Кроме того, мои Javascript и PHP являются внешними. –