Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript调用python函数_Javascript_Python_Angularjs_Client Server - Fatal编程技术网

从javascript调用python函数

从javascript调用python函数,javascript,python,angularjs,client-server,Javascript,Python,Angularjs,Client Server,这个问题已经被问过无数次了,我知道,如果因为无知我没有得到答案,我很抱歉 我有一个托管计划,它不允许我安装django,使用路由设置轻松调用RESTAPI真是太好了 我想要的是能够从执行get/post的javascript代码中调用python函数(我使用的是AngularJs,但执行ajaxget/post也一样) 假设我有一个js控制器'Employee'和一个视图'CreateEmployee' 在我的javascript视图中,我可以在js控制器上调用我的CreateEmployee(

这个问题已经被问过无数次了,我知道,如果因为无知我没有得到答案,我很抱歉

我有一个托管计划,它不允许我安装django,使用路由设置轻松调用RESTAPI真是太好了

我想要的是能够从执行get/post的javascript代码中调用python函数(我使用的是AngularJs,但执行ajaxget/post也一样)

假设我有一个js控制器'Employee'和一个视图'CreateEmployee'

在我的javascript视图中,我可以在js控制器上调用我的CreateEmployee(),现在我的问题是,如何在.py文件上调用特定函数(比如)def CreateEmployee(params…)

我所发现的只是在我的.py文件上创建一个get/post,但没有找到如何调用特定函数

我可能不了解python和客户机/服务器通信模式,我在asp.NETWebForms上编写代码已经很长时间了,因为我不能使用像Django这样的框架,所以我陷入了困境


谢谢

您必须有一种通过HTTP与服务器端Python代码通信的方法。我可以帮忙


当您这样做时,您通过HTTP进行通信。您不会直接调用Python函数。

实际上,它与Python没有太多关系。javascript代码在客户端浏览器上执行,它所能做的就是发出HTTP请求(同步或异步)。此时,使用哪个Web服务器/技术/语言来处理HTTP请求是完全不相关的。因此,从客户端javascript代码POV来看,您不是在“调用Python函数”,而是在发送HTTP请求并处理HTTP响应


如果您的web主机不允许您运行django(或任何符合wsgi的脚本),那么您可能必须使用普通CGI(警告:非常原始的技术)或迁移到PHP(无注释)。或者找到另一个不存在于过去的主机;)

谢谢,但我还是有同样的问题。他们给我的主机接受python,但不包括django,我明白了。我会找到另一个主机,因为这是Python使用的一个主要限制。或者您可以使用另一种语言来实现HTTP API。例如node.js(JavaScript),因为您已经知道js。@ElBarto:您的主机如何“接受python”?CGI还是wsgi?@bruno:我不知道实际上,他们给了我访问1&1上的虚拟服务器的权限,我可能可以通过ssh安装django,但是我对这个问题非常陌生,我害怕键入错误,它是一个prod服务器……如果它是一个专用服务器,您应该能够安装任何您想要的东西——或者,至少,要求服务器的系统管理员这样做。无论如何,您不应该依赖于Django的系统范围安装,最好是在
virtualenv
中拥有所有依赖项的精确版本。这将是我的最后一个选择,我不想切换到php,我想在开源领域学习一些新的东西,并选择python和Django,这非常好。然后我意识到我的托管计划中没有django…谢谢,我来看看。