我对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


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

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

最佳答案

我认为关键是您没有意识到可以在其他端口(例如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);
});
});

关于php - Python,如何接收ajax调用数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43674339/

10-13 08:37