Ответ 1
Вы можете выполнить script непосредственно из браузера. Это больше похоже на проблему с конфигурацией веб-сервера, чем на
jquery.У меня очень простой файл Python, называемый python1.py, содержимое которого:
f = open('C:\\Temp\\test.txt', 'w')
f.write('Succeeded')
f.close()
Я хочу выполнить это из JavaScript, например:
jQuery.ajax({
type: "POST",
url: "/cgi-bin/python1.py",
success: function (msg) {
alert("Data Saved: " + msg);
}
});
Однако все, что происходит, это то, что я получаю предупреждение, показывающее мне содержимое Python script. Файл C:\Temp\test.txt не создается, поэтому ясно, что Python не был выполнен.
Как мне убедить код выполнить Python script вместо того, чтобы просто читать его?
Вы можете выполнить script непосредственно из браузера. Это больше похоже на проблему с конфигурацией веб-сервера, чем на
jquery.Вам просто нужно настроить ваш веб-сервер для выполнения ваших *.py-скриптов, вместо того чтобы обслуживать их как обычный текст.
Если вы используете Apache в качестве веб-сервера, вам нужно включить mod_python или mod_wsgi.
EDIT:
Поскольку вы используете Apache, вы можете проверить следующую статью, в которой кратко описывается, как настроить модуль mod_python:
Вы также можете использовать проект с открытым исходным кодом Pico. Это действительно элегантный способ вызова кода Python на стороне сервера с Javascript на стороне клиента.
Автор представил несколько простых примеров здесь https://github.com/fergalwalsh/pico/wiki/Example-1:-Hello-World
Если ваш script настолько прост, вам лучше использовать CGI на стороне сервера, а не mod_python или mod_wsgi, как это было предложено другими. Подробнее о том, как настроить Apache для CGI с помощью Python и простых примеров script, см. Ниже: