使用dojo/reques调用python函数

2024-04-19 07:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我对web开发的世界很陌生,如果这个问题过于简单,我很抱歉。我尝试使用python来处理AJAX请求。从阅读文档来看,Dojo/request似乎应该能够在me中完成这项工作,但是我没有找到任何可以帮助实现这一点的示例。在

假设我有一个Python文件(我的函数.py)使用一些函数返回我想从服务器获取的JSON数据。对于这个调用,我对这个文件中的一个特定函数感兴趣:

def sayhello():
   return simplejson.dumps({'message':'Hello from python world'})

我不清楚的是如何使用Dojo/request调用这个函数。文件显示如下:

^{pr2}$

这和我要达到的目标很接近吗?我不知道如何指定在内部调用哪个函数myFuncs.py?在


Tags: 文件数据函数文档py服务器webjson
1条回答
网友
1楼 · 发布于 2024-04-19 07:15:02

您还可以创建一个小型的jsonrpc服务器,并使用dojo对该服务器进行ajax调用并获取json数据。。。。在

对于python端,您可以遵循以下步骤

jsonrpclib

对于dojo,你可以试试这样的方法。。在

<script>
    require(['dojox/rpc/Service','dojox/rpc/JsonRPC'],
    function(Service,JsonRpc)
    {       
        function refreshContent(){
            var methodParams = {
                envelope: "JSON-RPC-2.0",
                transport: "POST",
                target: "/jsonrpc",
                contentType: "application/json-rpc",
                services:{}
            };

            methodParams.services['myfunction'] = { parameters: [] };
            service = new Service(methodParams);

            function getjson(){
                dojo.xhrGet({
                    url: "/jsonrpc",
                    load : function(){
                        var data_list = [];
                        service.myfunction().then(
                            function(data){
                                dojo.forEach(data, function(dat){
                                    data_list.push(dat);                                            
                                });
                                console.log(data_list)
                            },
                            function(error) {
                                console.log(error);
                            }
                        );
                    }
                });
            }           
            getjson();
        }       
        refreshContent();
        });                             
    });     
</script>

我在django中使用了这种方法,我没有为rpc调用创建不同的服务器,而是使用django的url链接将调用转发到我的函数。。但是你可以创建一个小型的rpc服务器来做同样的事情。。在

相关问题 更多 >