我对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
我想在终端上执行脚本,并有一个等待按钮被推送以接收数据的循环
我的问题是,我如何存档?
答案 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);
});
});