Почему моя функция отправки сообщений открывает мой файл .pl, а не выполняет его?

0

У меня есть скрипт 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>
  • 1
    У вас есть эти две строки? AddHandler cgi-скрипт .cgi .pl Опции FollowSymLinks + ExecCGI
  • 0
    Нет, у меня их нет? Где они должны быть? Я извиняюсь за то, что не много знаю, я и новичок в использовании perl.
Показать ещё 1 комментарий
Теги:
svg
forms

2 ответа

3

Это проблема настройки вашего веб-сервера. Кажется, он не знает, что он должен выполнять скрипты perl и возвращать ответ, а не просто обслуживать файл.

Посмотрите документацию на своем веб-сервере, чтобы узнать, как настроить его для выполнения сценариев perl или отправить дополнительную информацию о вашем сервере и о том, что вы пробовали, если вы уже настроили свой сервер, но он не работает.

1

Измените свой httpd.conf. Вы должны заменить свою часть ниже. Замените X своим каталогом.

<Directory "X:\webserver\cgi-bin" />
    AddHandler cgi-script .cgi .pl
    Options FollowSymLinks +ExecCGI
    AllowOverride None  
</Directory>
  • 0
    Большое спасибо. Я предполагаю, что должен изменить заголовок моего файла. Текущий имеет следующее: #!/usr/bin/env perl =pod
  • 0
    =pod находится на другой линии.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню