Передача переменной django в данные ajax - PullRequest
0 голосов
/ 03 мая 2019

Я бы хотел, чтобы ajax опубликовал некоторые переменные, которые были созданы в представлении.Моя проблема в том, что он написан неправильно, и что-либо отправляется в мой пост-запрос, когда я смотрю на Chrome Inspectter.

Это моя функция 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 голосов
/ 03 мая 2019

Вы не можете использовать теги django в файле .js, что вы можете сделать, это установить атрибуты данных в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...