2015-10-07 97 views
0

我在调用带有angularjs $ http请求的python函数时遇到问题。 我有一个Python函数,它是在服务器上这样使用angularjs从本地机器调用服务器中的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

可能是您的Web服务器不知道如何处理.py文件。你需要配置web服务器来处理python。如果未配置,请尝试下面的内容。

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

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

+0

我已经在我的apache配置文件中做了这些更改,并创建了一个示例python文件,该文件在该示例中使用,但仍然显示为浏览器中的文本。 –

相关问题