Как вы выполняете серверный скрипт Python, используя jQuery? - PullRequest
10 голосов
/ 04 февраля 2010

У меня есть очень простой файл 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.Файл C: \ Temp \ test.txt не создается, поэтому ясно, что Python не был выполнен.

Как мне убедить код выполнить скрипт Python вместо того, чтобы просто читать его?

Ответы [ 4 ]

7 голосов
/ 17 августа 2011

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

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

7 голосов
/ 04 февраля 2010

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

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


EDIT:

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

4 голосов
/ 04 февраля 2010

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

1 голос
/ 05 февраля 2010

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

http://webpython.codepoint.net/cgi_tutorial

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...