У меня возникла проблема с вызовом функции python с запросом angularjs $ http. У меня есть функция python, которая находится на сервере как это
import cgi, cgitb
data= cgi.FieldStorage()
name = data.getvalue("name");
age = data.getvalue("age");
def printinfo( name, age ):
print "Name: ", name
print "Age ", age
return name,age
и я также включил cgi, и мой код javascript
angular.module('app1',[])
.controller('ctrl',['$scope','$http' ,function ($scope,$http) {
$scope.bin = 'examp';
$scope.go = function () {
var url = "http://localhost/dump/test/test.py";
var bad =$http({
url :url ,
method:'POST',
data:{"name":"kumar" , "age":21}
}).success(function(data){
alert("working");
});
}
}])
и мой код javascript способен сделать вызов http://localhost/dump/test/test.py, но он отображается как документ, даже когда я включил cgi в него. Пожалуйста, помогите мне, а также вы можете сказать мне ребята это правильный способ отправки значений на сервер, то есть я могу вызвать функцию print info, просто отправив имя и возраст, или я должен отправить имя функции тоже. Если да, дайте мне знать, как я могу это передать.
Заранее спасибо..
Возможно, ваш веб-сервер не знает, как обращаться с файлами.py. Вам нужно настроить веб-сервер для обработки python. Попробуйте ниже, если он не настроен.
https://www.linux.com/community/blogs/129-servers/757148-configuring-apache2-to-run-python-scripts
Но более подходящий подход заключается в создании веб-приложения с использованием некоторой инфраструктуры python и разоблачении URL-адресов через веб-сервер. Если вас это интересует, тогда я бы посоветовал вам изучить флеш-структуру python.