我希望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]通过
请你帮我吗?
答案 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标记中设置数据值。