我正在开发一个 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。