Отправить ссылку в параметре ajax запроса DJANGO
как мне отправить запрос, где в параметре находится ссылка ?
Я выбираю данные с таблицы и отправляю их
function sendStatusLinkValidation() {
var grid = document.getElementsByClassName("table")[1];
var token = '{{csrf_token}}';
var checkBoxes = grid.getElementsByTagName("INPUT");
for (var i = 0; i < checkBoxes.length; i++) {
if (checkBoxes[i].checked) {
let row = checkBoxes[i].parentNode.parentNode;
var select = document.getElementById("inputGroupSelect01");
var select_value = select.value;
var link = row.cells[2].childNodes[0].href;
$.ajax({
headers: {"X-CSRFToken": token},
url: '/send_or_update_violation_links/' + link + '/' + select_value,
method: 'post',
success: function (res) {
}
});
}
}
}
пошел в сторону urlparse
var link = new URL(row.cells[2].childNodes[0].href);
но понял, что у меня уже имеется много разных hostname, а если будут еще больше и каждый раз дописывать не очень комильфо)
urls.py
path("send_or_update_violation_links<slug:link>/<str:select_value>", views.send_or_update_violation_links),
Я так понимаю мешает в передаче запроса '/' символы, которые находятся в переменной link отправляемым ajax.
Может есть какое-то другое решение ? Спасибо!
Чтобы ссылка прошла в запросе, нужно поменять slug на path
path: соответствует любой строке, которая также может включать символ "/" в отличие от спецификатора str
path("send_or_update_violation_links/path:link/str:select_value"