Вызов функции Python с Javascript в MAMP

То, что я пытаюсь сделать, это взять файл Python (на данный момент у меня есть простой тестовый файл, который выводит некоторый общий текст) и заставить его запускать Javascript при нажатии кнопки. Я хочу, чтобы вывод скрипта Python был записан на консоль с помощью Javascript.

Я установил для файла httpd.conf значение ExecCGI, и он должен запускать файлы Python как файлы.cgi (см. http://www.editrocket.com/articles/python_apache_windows.html). Я также изменил разрешения для папки MAMP и все ее содержимое для чтения / записи для всех на всякий случай. Однако, когда я пытаюсь сделать Ajax-вызов для моего файла, я получаю 500 внутреннюю ошибку сервера. Когда я захожу на localhost:8888/cgi-bin, я получаю сообщение об ошибке запрещенного доступа. Для справки, мой Javascript находится в MAMP/htdocs/WebScraper/ и мой файл Python находится в MAMP/cgi-bin/,

Вот мой код файла Python:

print("Content-type: text/html")
print()
print("<p>Hello World</p>")

и вот мой код файла Javascript:

$(document).ready(function () {
    $("#submit").click(function() {
        $.ajax({
            url: "/cgi-bin/cgi_test.py",
            success: function(response) {
                console.log(response)
            }
        });
    });
});

Я знаю, что он попадает в файл, потому что я получаю ошибку 500 вместо 404, но я не могу понять, как заставить его работать. У кого-нибудь есть идеи?

1 ответ

Хорошо, я понял это, мне нужно было добавить \n внутри print("Content-type: text/html") сделать это print("Content-type: text/html\n"), Это делается для отделения заголовков от остального содержимого, иначе программа не знает, что есть что.

Другие вопросы по тегам