Как передать значения контекста django в переменную javascript?
Я хочу передать все значения {{ i.nsn }}
по очереди в ajax скрипт.
{% for i in dibbs %}
<p>{{ i.nsn }}</p>
{% endfor %}
Если я попробую ajax скрипт способом
{% for i in dibbs %}
<script>
var nsn = {{ i.nsn }}
console.log("Hello")
$('.togglebtn').on("click",function(){
console.log("Hello")
$.ajax({
type: 'GET',
url: "http://localhost:8000/toggle/"+nsn,
contentType: 'application/json',
success: function (data) {
appendData(data);
function appendData(data) {
var mainContainer = document.getElementById("switch_{{forloop.counter}}");
for (var i = 0; i < data.length; i++) {
var div = document.createElement("div");
div.innerHTML = '<tr>' + data[i].line_items + ' ' + data[i].nomenclature+'</tr>' ;
mainContainer.appendChild(div);
}
}
}
});
});
</script>
{% endfor %}
Сценарий ajax также повторяется в соответствии с циклом.
Мой url для каждого nsn разный. Я хочу отправлять один ajax запрос при нажатии на кнопку.
Я хочу выполнить одну функцию ajax для одного клика, удалив цикл for.
Думаю, вы можете попробовать получить значение из тега p и передать его в ajax
{% for i in dibbs %}
<p>{{ i.nsn }}</p>
<script>
var nsn = ctrl.getElementsByTagName('p')[0].innerHTML;
console.log("Hello")
$('.togglebtn').on("click",function(){
console.log("Hello")
$.ajax({
type: 'GET',
url: "http://localhost:8000/toggle/"+nsn,
contentType: 'application/json',
success: function (data) {
appendData(data);
function appendData(data) {
var mainContainer = document.getElementById("switch_{{forloop.counter}}");
for (var i = 0; i < data.length; i++) {
var div = document.createElement("div");
div.innerHTML = '<tr>' + data[i].line_items + ' ' + data[i].nomenclature+'</tr>' ;
mainContainer.appendChild(div);
}
}
}
});
});
</script>
{% endfor %}
Вы также можете скрыть тег p, если не хотите его отображать