在ajax数据中传递django变量

时间:2019-05-03 05:52:57

标签: ajax django

我希望ajax发布一些已经在视图中创建的变量。 我的问题是,书写方式不正确,当我查看Chrome检查器时,所有内容都会发送到我的发帖请求中。

这是我的javascript函数:

function submitDataTable() {
            let table = $(document.getElementById('datatable')).DataTable()
            let advisedPriceColumn = table.column('advised_price:name')
            let advisedPriceData = advisedPriceColumn.data().toArray()

            $.ajaxSetup({
            data: {csrfmiddlewaretoken: '{{ csrf_token }}' }
            })
            $.ajax({
            url: 'submit/',
            type: 'POST',
            data: {
                advisedPrice: advisedPriceData,
                normal_price: '{{ normal_price|safe }}',
            },
            processData: false,
            success: res => {
                alert('Bien ouej mon vieux')
                location.reload()
            },
            error: xhr => {
                alert(xhr.responseText.split('\n')[1])
            }
            })
        };

这些是我想在我的JS函数中传递的一些观点:

return render(request,'livedb_model/typeDetail.html',{
        'property':property,
        'roomtype':roomtype,
        'invdf':invdf,
        'price_advised_list':price_advised_list,
        'price_list':price_list,
        'occupancy_list':occupancy_list,
        'c_occupancy_list':c_occupancy_list,
        'normal_price_list':normal_price_list[:100],
        'normal_price':normal_price,
        'week_day_multi':week_day_multi,
        'week_end_multi':week_end_multi,
        'max_discount':max_discount,
        'max_markup':max_markup,
        'coccCategory':coccCategory,
        'agressiveness':agressiveness
        })

这是Chrome检查器的屏幕截图,我们可以看到只有[object Object]通过 enter image description here

请你帮我吗?

1 个答案:

答案 0 :(得分:0)

您不能在.js文件中使用django标签,您可以在html中设置数据属性,例如-

<input type="text" data="{{ normal_price|safe }}" id="id_normal_price" value="">

然后将其放入您的js中-

normal_price: $("#id_normal_price").attr("data")

您可以在任何html标记中设置数据值。

看看-https://www.w3schools.com/tags/att_global_data.asp