小编典典

将JSON发布到Python CGI

ajax

我已经安装了Apache2并且Python运行正常。

我有一个问题。我有两页。

一个是Python页面,另一个是带有JQuery的HTML页面

有人可以告诉我如何使我的ajax帖子正常工作。

<html>
<head>

</head>
<body>
<script>
    $(function()
    {
        alert('Im going to start processing');

        $.ajax({
            url: "saveList.py",
            type: "post",
            data: {'param':{"hello":"world"}},
            dataType: "application/json",
            success : function(response)
            {
                alert(response);
            }
        });
    });
</script>
</body>
</html>

和Python代码

import sys
import json

def index(req):
    result = {'success':'true','message':'The Command Completed Successfully'};

    data = sys.stdin.read();

    myjson = json.loads(data);

    return str(myjson);

阅读 269

收藏
2020-07-26

共1个答案

小编典典

好的,让我们转到您的更新问题。

首先,您应该以字符串表示形式传递Ajax数据属性。然后,因为你混合dataTypecontentType性质,变化dataType"json"

$.ajax({
    url: "saveList.py",
    type: "post",
    data: JSON.stringify({'param':{"hello":"world"}}),
    dataType: "json",
    success: function(response) {
        alert(response);
    }
});

最后,如下修改您的代码以使用JSON请求:

#!/usr/bin/python

import sys, json

result = {'success':'true','message':'The Command Completed Successfully'};

myjson = json.load(sys.stdin)
# Do something with 'myjson' object

print 'Content-Type: application/json\n\n'
print json.dumps(result)    # or "json.dump(result, sys.stdout)"

结果,在successAjax请求的处理程序中,您将收到带有successmessage属性的对象。

2020-07-26