我正试图通过ajax发送一个id号到我的weppy后台,我已经尝试了我能想到的所有东西,但我确定我就是不知道怎么做。
我已经收集了一个id从我的HTML页面点击,并想要发送到服务器脚本现在我的ajax看起来像
$(.testclick).click(function(e){
var idnum = e.target.id;
ajax("{{=url('post')}}", [], ':eval');
});我已经尝试在多个地方包含idnum变量,希望能解决这个问题,但没有这么幸运
post函数如下所示
@app.route()
def post(idnum):
idnum = idnum
print(idnum)
return现在我只是想让它工作,它实际上不做任何事情,但打印到控制台自动取款机
提前感谢!
发布于 2017-02-05 23:21:53
来自weppy docs
target ajax helper异步调用url,传递名称等于列表中某个名称的字段输入的值,然后将响应存储在id等于
的标记的innerHTML中。第三个参数也可以是:eval字符串,它通过JavaScript对服务器返回的字符串进行求值。
如果您希望使用该帮助器对ajax请求使用任意值,则需要将其放入所请求url中,但在此之前,您需要接受路由上的url variable:
@app.route('/click/<str:element_id>')
def click(element_id):
return 'alert("clicked on ' + element_id + '");'然后在html端:
$(".testclick").click(function(e){
ajax("{{=url('click')}}/" + e.target.id, [], ':eval');
});请注意,weppy提供的javascript助手旨在用于呈现页面组件中的内容,或者生成要计算的ajax代码。
如果您需要向后端发送和获取任意数据,请考虑使用json ajax方法和jQuery数据。
发布于 2017-01-22 17:18:53
为了从javascript运行python脚本,你可以使用CGI。以下是javascript代码:
$(.testclick).click(function(e){
var reqobj;
reqobj = {idnum: e.target.id}
// AJAX
var response = $.ajax({
type: "POST",
url: "/script/sample.py",
data: reqobj
});
}Python脚本(sample.py):
import cgi, cgitb
data= cgi.FieldStorage()
# Get data from fields
input = data["idnum"]
print(input)要让这两个脚本都工作,你需要有一个web服务器,并配置它来执行python脚本。这是a link
https://stackoverflow.com/questions/41787090
复制相似问题