【发布时间】:2019-10-30 22:37:40
【问题描述】:
我正在尝试将每个产品(作为 id)选择的数量(标识为 cantidad)列表发送到我的烧瓶控制器。由于 wtform 不能很好地适应我的需求,我不得不使用 json 和 jQuery,但无论我做什么,对象列表在控制器中都被视为空,即使在前端它确实有一些东西。 这是 JavaScript:
此函数发布订单,该订单应该是分配了 id 的数量列表:
<script type="text/JavaScript">
function setPedido(order){
console.log(order);
$.ajax({
url: "{{url_for('main.pedido')}}",
type: 'POST',
data: JSON.stringify(order),
contentType: 'application/json;charset=UTF-8',
success: function(response) {
if (response.redirect) {
window.location.href = response.redirect;
}
}
});
};
当点击“pedido”(订单)按钮时,获取所有分配的数量及其各自的产品 ID:
$(".btnPedido").click(function(){
var order = []
$(function() {
var lines = $(".btnAgregar.active")
for(var i = 0; i < lines.length; i++) {
console.log(lines[i]);
order.push({
'id': $(lines[i]).closest("tr").find('.btnPedido').val(),
'cantidad' : $(lines[i]).closest("tr").find('.inpCantidad').val()
});
}
});
setPedido(order);
});
这将每个输入的数量标记为可以订购:
$(".btnAgregar").click(function(){
if($(this).val() == 0){
$(this).val(1);
$(this).text("Agregado");
}else{
$(this).val(0);
$(this).text("Agregar");
}
$(this).toggleClass('btn-info btn-success active');
});
</script>
这显示在控制台中:
这在烧瓶控制器中(注意数据):
【问题讨论】:
-
您是否尝试登录
JSON.stringify(order)来检查它的功能是否符合您的预期?您是否还可以在 Web 浏览器中检查传出请求以查看数据是否在其中?