Как вы выполняете серверный Python 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 вместо того, чтобы просто читать его?

Ответ 1

Вы можете выполнить script непосредственно из браузера. Это больше похоже на проблему с конфигурацией веб-сервера, чем на

jquery.

Ответ 2

Вам просто нужно настроить ваш веб-сервер для выполнения ваших *.py-скриптов, вместо того чтобы обслуживать их как обычный текст.

Если вы используете Apache в качестве веб-сервера, вам нужно включить mod_python или mod_wsgi.


EDIT:

Поскольку вы используете Apache, вы можете проверить следующую статью, в которой кратко описывается, как настроить модуль mod_python:

Ответ 3

Вы также можете использовать проект с открытым исходным кодом Pico. Это действительно элегантный способ вызова кода Python на стороне сервера с Javascript на стороне клиента.

Автор представил несколько простых примеров здесь https://github.com/fergalwalsh/pico/wiki/Example-1:-Hello-World

Ответ 4

Если ваш script настолько прост, вам лучше использовать CGI на стороне сервера, а не mod_python или mod_wsgi, как это было предложено другими. Подробнее о том, как настроить Apache для CGI с помощью Python и простых примеров script, см. Ниже:

http://webpython.codepoint.net/cgi_tutorial