Python,如何重温ajax调用数据?

时间:2017-04-28 07:21:41

标签: php python json ajax cgi

我对python接收ajax数据感到困惑......

我不想使用flask,因为我需要从php文件和我的网站接收使用80端口的数据。

我搜索了谷歌并发现我可以用cgi做到这一点,但我不确定这是否正确。

我使用了示例,我的ajax调用如下所示:

$('#clickme').click(function(){
    $.ajax({
        type: "POST",
        url: "brute.py",
        datatype : "json",
        data: { name: "nitin"}
      })
      .done(function(msg) {
           console.log(msg);
});
});

我的python文件 brute.py

import json
import sys
import cgi
import cgitb

sys.stdout.write("Content-Type: application/x-www-form-urlencoded")
sys.stdout.write("\n") 
sys.stdout.write("\n")
form = cgi.FieldStorage()
name = form.getvalue('name')
print(name)

我想接收数据并将其用于我的其他脚本行,例如:

url2 = "http://www.example.ee/admin/index.php?controller=AdminPdf&token=35b276c05aa6f5eb516737a8d565eb66&submitAction=generateInvoicePDF&id_order={}".format(name) // Like this, i know for sting i use %s

当我在php文件中单击我的按钮时,我在控制台中获取了完整的brute.py代码,当我尝试在终端上执行我的脚本时刚打印出来:

Content-Type: application/x-www-form-urlencoded

None

我想在终端上执行脚本,并有一个等待按钮被推送以接收数据的循环

我的问题是,我如何存档?

1 个答案:

答案 0 :(得分:1)

我认为重点是您没有意识到您可以在flask等其他端口上使用8080或任何其他http服务器库。

所以你需要做的就是在python端启动一个http服务器,然后将请求发送给它。

$('#clickme').click(function(){
    $.ajax({
        type: "POST",
        url: "127.0.0.1:8080/xxxx", //your python end http server's router.
        datatype : "json",
        data: { name: "nitin"}
      })
      .done(function(msg) {
           console.log(msg);
});
});