Существует 3 способа:
Если это динамическая страница (CGI или другая), если ваш сценарий, поддерживающий страницу, является исполняемым сценарием Perl, возвращающим действительный HTTP-ответ, вывсе хорошо.Если вам нужно выполнить отдельный сценарий Perl, вы можете сделать это с помощью обычного вызова system()
(в идеале, функциональность должна быть вызовом библиотеки Perl, чтобы ваш сценарий мог затем выполнить его, не вызывая системный вызов).Этот подход, конечно, работает с любым языком, на котором написан внутренний скрипт, например, если это сервлет Java или любой другой код, он также может выполнить системный вызов вашего скрипта Perl.
Если это статическая HTML-страница, вы можете иметь событие JavaScript «onload» (или просто вызов функции JS внутри тега <script>
), которое выполняет вызов AJAX для другой динамической страницы (скажем, http://yourserver/scripts/run_script_X) запуск сценария согласно предыдущему пункту.
Для ясности, скрипт будет работать на веб-сервере , а не в системе браузера / клиента;поэтому вам нужен какой-то механизм, позволяющий влиять на результаты скрипта на вашей веб-странице, если вы хотите получить такой эффект.
$.ajax({url: 'http://yourserver/scripts/run_script_X'}); // jQuery example
Как старое изменение последнегоподход, вы также можете иметь на своей странице <IFRAME>
, чей URL указывает на http://yourserver/scripts/run_script_X (сделайте iframe маленьким / невидимым, если вам не нужны результаты запуска скрипта согласно вашему комментарию).
<!-- The rest of your HTML code -->
<IFRAME
SRC="http://yourserver/scripts/run_script_X"
style="display: none;"
/>
Неуместный комментарий, сделанный до комментариев к этому ответу :
Без намного большего контекста того, что вы хотите, чтобы страница была(CGI-скрипт, статический HTML и т. Д.) И то, что вы хотите, чтобы скрипт делал, и как вы хотите, чтобы результаты запуска скрипта влияли на вашу страницу, трудно предложить что-то более точное.