Вызов функции 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")
, Это делается для отделения заголовков от остального содержимого, иначе программа не знает, что есть что.