首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在weppy中,如何使用ajax()将数据从javascript发送到python?

在weppy中,如何使用ajax()将数据从javascript发送到python?
EN

Stack Overflow用户
提问于 2017-01-22 11:42:49
回答 2查看 125关注 0票数 0

我正试图通过ajax发送一个id号到我的weppy后台,我已经尝试了我能想到的所有东西,但我确定我就是不知道怎么做。

我已经收集了一个id从我的HTML页面点击,并想要发送到服务器脚本现在我的ajax看起来像

代码语言:javascript
复制
$(.testclick).click(function(e){
  var idnum = e.target.id;
  ajax("{{=url('post')}}", [], ':eval');
});

我已经尝试在多个地方包含idnum变量,希望能解决这个问题,但没有这么幸运

post函数如下所示

代码语言:javascript
复制
@app.route()
def post(idnum):
  idnum = idnum
  print(idnum)
  return

现在我只是想让它工作,它实际上不做任何事情,但打印到控制台自动取款机

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2017-02-05 23:21:53

来自weppy docs

target ajax helper异步调用url,传递名称等于列表中某个名称的字段输入的值,然后将响应存储在id等于

的标记的innerHTML中。第三个参数也可以是:eval字符串,它通过JavaScript对服务器返回的字符串进行求值。

如果您希望使用该帮助器对ajax请求使用任意值,则需要将其放入所请求url中,但在此之前,您需要接受路由上的url variable

代码语言:javascript
复制
@app.route('/click/<str:element_id>')
def click(element_id):
    return 'alert("clicked on ' + element_id + '");'

然后在html端:

代码语言:javascript
复制
$(".testclick").click(function(e){
    ajax("{{=url('click')}}/" + e.target.id, [], ':eval');
});

请注意,weppy提供的javascript助手旨在用于呈现页面组件中的内容,或者生成要计算的ajax代码。

如果您需要向后端发送和获取任意数据,请考虑使用json ajax方法和jQuery数据。

票数 1
EN

Stack Overflow用户

发布于 2017-01-22 17:18:53

为了从javascript运行python脚本,你可以使用CGI。以下是javascript代码:

代码语言: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):

代码语言:javascript
复制
import cgi, cgitb
data= cgi.FieldStorage()

# Get data from fields
input = data["idnum"]

print(input)

要让这两个脚本都工作,你需要有一个web服务器,并配置它来执行python脚本。这是a link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41787090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档