У меня есть скрипт PERL
download.pl, который должен выполняться при нажатии кнопки. Он используется для загрузки SVG.
Но когда кнопка нажата, веб-сайт показывает мне содержимое скрипта perl вместо его выполнения. Почему это и как я могу это исправить?
Этот код - это то, что вызывается при нажатии моей кнопки:
function callOnButtonClick(){
var svg = document.getElementById("mainSVG");
// Extract the data as SVG text string
var svg_xml = (new XMLSerializer).serializeToString(svg);
console.log(svg_xml);
var form = document.getElementById("svgform");
form['output_format'].value = "svg";
form['data'].value = svg_xml ;
form.submit();
}
Это форма, которую я использую для выполнения моего файла download.pl, который должен инициировать загрузку.
<form id="svgform" method="post" action="download.pl">
<input type="hidden" id="output_format" name="output_format" value="">
<input type="hidden" id="data" name="data" value="">
</form>
Это проблема настройки вашего веб-сервера. Кажется, он не знает, что он должен выполнять скрипты perl и возвращать ответ, а не просто обслуживать файл.
Посмотрите документацию на своем веб-сервере, чтобы узнать, как настроить его для выполнения сценариев perl или отправить дополнительную информацию о вашем сервере и о том, что вы пробовали, если вы уже настроили свой сервер, но он не работает.
Измените свой httpd.conf. Вы должны заменить свою часть ниже. Замените X своим каталогом.
<Directory "X:\webserver\cgi-bin" />
AddHandler cgi-script .cgi .pl
Options FollowSymLinks +ExecCGI
AllowOverride None
</Directory>
#!/usr/bin/env perl =pod
=pod
находится на другой линии.