我正在尝试编写一个 jQuery,即使将一个条目插入到这样的表中:
$('#insertButton').on('click',function(){
{{db.myTable.insert(user_id=auth.user_id, text=myText)}}
});
作为我正在尝试做的事情的真实一般示例。它位于 my 的 block 中。问题是,当加载 View 时,该函数会自动触发。它会在每次加载页面时插入。 web2py 是否有一些怪癖不允许您将 python 代码嵌入到 jQuery 事件中?有办法解决这个问题吗?
最佳答案
在 web2py 模板中,首次生成页面时,所有 Python 代码都在服务器上执行。该行:
{{db.myTable.insert(user_id=auth.user_id, text=myText)}}
不以 =
开头,因此它不会在 HTML 响应中写入任何内容。相反,它只是在服务器上执行 Python 代码。您不能简单地将 Python 嵌入到 Javascript 中——浏览器不知道如何处理它。
如果您想使用 Javascript 在服务器上触发插入,则必须通过 Ajax 调用处理插入的操作来完成。请参阅here以及有关 jQuery .ajax
方法的文档。
关于jquery - web2py 将 python 嵌入到 jQuery 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620271/