Web2Py 中的 ajax 和会话变量的问题
Problems with ajax and session variable in Web2Py
我正在Web2Py中开发一个应用程序,其中包含一个小电子商务。有一个控制器和页面,链接是本地主机:8000/topranchos/produto,与产品,是topranchos是应用程序。
在页面产品中,有一个这样的产品列表:
图片在此链接中
当单击"Adicionar ao carrinho"按钮时,将执行javascript函数:
<script>
function adicionarCarrinho(prod, qtde) {
quantidade = document.querySelector(qtde).value
console.log(quantidade)
if(quantidade > 0) {
$.get("{{=URL(f="adicionarCarrinho")}}", {produto: prod, qtde: quantidade} )
.done(function( data ) {
console.log (data)
var atual =document.querySelector(".badge-carrinho").innerHTML;
document.querySelector(".badge-carrinho").innerHTML =
parseInt(quantidade) + parseInt(atual);
alert("Adicionado ao carrinho com sucesso");
});
}
else alert("Selecione a quantidade de itens deste produto que você deseja");
}
</script>
它要求操作默认/adicionarCarrinho:
def adicionarCarrinho():
if request.vars:
session.carrinho.append(
#{'produto':db(db.produto.id == request.vars['produto']).select(),
{'produto':int(request.vars['produto']),
'quantidade':int(request.vars['qtde'])}
)
print "----------"
print session.carrinho
return str("OK")
其中session.carrinho有一个在 db.py 模型上声明的列表:
#carrinho
session.carrinho = []
在终端上,命令print session.carrinho打印ajax请求收到的项目,但是当我添加其他itens时,列表是空的。当我点击 carrinho 的页面时,它显示了 session.carrinho 的信息,var 是空的。
我该如何修复?我尝试使用cookie当然是Web2Py书,但我在Web2Py上傻瓜,还没有成功:/
谢谢!
模型文件在每个请求上执行,因此您将session.carrinho
重置回每个请求的空列表。相反,在模型中,这:
session.carrinho = []
应该是这样的:
session.carrinho = [] if session.carrinho is None else session.carrinho
相关文章:
- 简单的变量问题
- 局部全局变量问题 - JavaScript
- 递归承诺调用 - 内存范围变量问题
- 开关变量问题
- 简单的 Jquery 变量问题
- Javascript全局变量问题
- Javascript-通过引用传递变量问题
- AJAX请求在jQuery中获取函数,变量问题
- JSON JavaScript 未定义的变量问题
- PHP 和 JavaScript 组合变量问题
- JQuery Ajax 填补了 JavaScript 变量问题
- jQuery.ParseJSON 变量问题
- Ajax变量问题
- socket.io-使用命名空间时出现套接字变量问题
- AngularJS与SignalR$范围变量问题
- 使用事件处理程序(基本Javascript)时出现全局变量问题
- JavaScript 声明变量问题
- JavaScript变量问题的澄清
- jQuery变量问题
- JS -访问全局变量问题