【发布时间】:2015-01-01 03:04:33
【问题描述】:
我正在开发一个包含小型电子商务的 Web2Py 应用程序。有一个链接是 localhost:8000/topranchos/produto 的控制器和页面,其中包含产品,topranchos 是应用程序。
在页面 produto 中有一个这样的产品列表:
当点击“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>
这是对动作 default/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 请求收到的项目,但是当我添加其他项目时,列表为空。当我点击 carrinho 的页面时,显示 session.carrinho 的信息,var 为空。
我该如何修复它?我尝试使用 cookie 当然是 Web2Py 书,但我在 Web2Py 上做傻事并且还没有成功:/
谢谢!
【问题讨论】:
标签: javascript python ajax session web2py