У нас есть требование запуска скриптов python из Javascript. Мы должны передать входную строку в python script в качестве аргумента и отобразить вывод python на нашей веб-странице.
Вот код Python, этот код отлично работает, когда я запускаю его в своем ящике linux: ./sample.py 12345
, дает вывод 12345
и ./sample.py
будет отображать no argument found
#!/usr/bin/env python
import os
import sys
if len(sys.argv) > 1:
output = sys.argv[1]
else:
output = "no argument found"
print "Hello World!!!"
print output
Как мне получить доступ к "параметру" из вызова ajax в вышеуказанном python и использовать это значение в качестве аргумента?
JavaScript:
$.ajax({
type: 'POST',
url: "scripts/sample.py",
data: {param: xyz}, //passing some input here
dataType: "text",
success: function(response){
output = response;
alert(output);
}
}).done(function(data){
console.log(data);
alert(data);
});
Любая помощь будет принята с благодарностью.
ИЗМЕНИТЬ
Как я уже сказал, я пытаюсь заставить свой код работать с CGI.
#!/Python34/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
data= cgi.FieldStorage()
# Get data from fields
output = data["param"]
# This will print to stdout for testing
print("Hello World!!!")
print(output)
Всякий раз, когда выполняется вызов Ajax, ответ: [object HTMLDivElement], при открытии в Firebug отображает весь текст python script. Что мне здесь не хватает?