使用angularjs从本地机器调用服务器中的python函数

时间:2015-10-07 06:07:54

标签: javascript python angularjs cgi

我在使用angularjs $ http请求调用python函数时遇到问题。 我有一个像这样的服务器上的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,它也会显示为文档。 请指导我,也可以告诉我,这是将值发送到服务器的正确方法,即我可以通过发送名称和年龄来调用功能打印信息,或者我也应该发送功能名称。如果是,请告诉我如何通过它..

提前致谢..

1 个答案:

答案 0 :(得分:1)

可能是您的网络服务器不知道如何处理.py文件。您需要配置webserver来处理python。如果未配置,请尝试以下操作。

https://www.linux.com/community/blogs/129-servers/757148-configuring-apache2-to-run-python-scripts

但更好的方法是使用一些python框架创建一个Web应用程序,并通过Web服务器公开URL。如果您对此感兴趣,那么我建议您学习flask python框架。