【发布时间】:2019-10-02 11:55:31
【问题描述】:
我正在寻找一种接收模板标签的方法, 特别是在视图中生成的贝宝表单。 我一直在尝试使用 jquery $.post 和 $.get 无济于事。 也被认为是ajax,但它似乎只接收json 我的模板标签之一是表单,它不能转换为 json: TypeError: PayPalPaymentsForm 类型的对象不是 JSON 可序列化的
对于在贝宝中单击浏览器返回按钮的用户,我需要这个, 如果发生这种情况,我需要将价格发送到视图 并生成表格, 如果我不发送商品和折扣,我将获得 multivaluedictkey
views.py
return render(request, 'pagamentos/payment.html', { 'morada':morada, 'telemovel':telemovel,'codigo_postal':codigo_postal, 'cidade':cidade, 'form': form })
payment.html
$.post( "/token/", {
items: x.toString(),
desconto: y.toString() ,
'csrfmiddlewaretoken': '{{ csrf_token }}' },
function( data ) {
console.log(data.morada)
console.log(data.telemovel)
console.log(data.cidade)
console.log(data.codigo_postal)
console.log(data.form)
});
这样不行。
正在寻找一种在 javascript 就绪函数中加载模板标签的解决方案,无需额外的按钮。
【问题讨论】:
-
data将作为 HTML 到达。您将无法访问data.morada等。如果这是您想要的,请考虑将此数据作为 JSON 从您的视图发送,而不是呈现到模板。 -
我明白了。是否可以在服务器中将表单转换为 json?并在客户端 html?
-
是您在
payment.html模板中的问题中发布的JS 代码吗? -
是的,这是在 payment.html 中
-
对于在贝宝中单击浏览器返回按钮的用户,我需要这个,以防发生这种情况,如果我不发送,我需要将项目和折扣发送到视图并生成表单价格我会得到 multivaluedictkey