Я работаю над приложением django для отображения графиков. Я хочу использовать Ajax с этим приложением, чтобы предотвратить обновление страницы. Проблема в том, что я не знаю, как это сделать с помощью тегов привязки. Я пробовал Ajax прежде, чем отправлять форму. Это код для отправки формы
$(document).on('submit', '.csv_upload_form', function(event) {
event.preventDefault();
csvUploadAjax();
});
function csvUploadAjax() {
let $form = $(".csv_upload_form");
let form_data = new FormData($form[0]);
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: form_data,
dataType: 'html',
processData: false,
contentType: false,
success: function (data) {
displayTable(data);
},
error: function (xhr, status, err) {
console.log("Something went wrong: " + err);
}
});
}
Но я не знаю, как повторить это на тегах привязки. Это мой код до сих пор
HTML шаблон
<ul>
<li><a href="{% url 'visualize' %}" class='link1'>Line Chart</a></li>
<li><a href="#">Scatterplot</a></li>
<li><a href="#">Bar Graph</a></li>
<li><a href="#">Pie Chart</a></li>
<li><a href="#">Heat Maps</a></li>
<li><a href="#">Histogram</a></li>
</ul>
index.js
$(document).on('click', 'a', function(event) {
event.preventDefault();
onLinkClick();
})
function onLinkClick() {
let $link = $('.link1');
let link_data = new FormData($link[0]);
$.ajax({
url: $link.attr('action'),
type: $link.attr('method'),
data: link_data,
dataType: 'json',
processData: false,
contentType: false,
success: function (data) {
showGraph(data);
},
error: function (xhr, status, err) {
console.log("Something went wrong: " + err);
}
});
}
Проблема, с которой я сталкиваюсь, заключается в том, что я использую не форму, а ссылку на тег привязки. Поэтому я не уверен, как добавить к этому ajax.