document.addEventListener('DOMContentLoaded', function() { document.querySelector('.reset-captcha').addEventListener('click', function(e) { e.preventDefault(); fetch('/get_new_captcha/', { method: 'GET', headers: { 'X-CSRFToken': getCookie('csrftoken') // 获取并发送CSRF令牌 } }) .then(response => { if (!response.ok) throw new Error('Network response was not ok'); return response.json(); }) .then(data => { document.querySelector('.captcha-image').src = 'data:image/png;base64,' + data.img; }) .catch(error => console.error('There has been a problem with your fetch operation:', error)); }); function getCookie(name) { let cookieValue = null; if (document.cookie && document.cookie !== '') { const cookies = document.cookie.split(';'); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].trim(); if (cookie.substring(0, name.length + 1) === (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }); document.addEventListener('DOMContentLoaded', function() { document.querySelector('.reset-captchare').addEventListener('click', function(e) { e.preventDefault(); fetch('/get_new_captcha/', { method: 'GET', headers: { 'X-CSRFToken': getCookie2('csrftoken') // 获取并发送CSRF令牌 } }) .then(response => { if (!response.ok) throw new Error('Network response was not ok'); return response.json(); }) .then(data => { document.querySelector('.captcha-image').src = 'data:image/png;base64,' + data.img; }) .catch(error => console.error('There has been a problem with your fetch operation:', error)); }); function getCookie2(name) { let cookieValue = null; if (document.cookie && document.cookie !== '') { const cookies = document.cookie.split(';'); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].trim(); if (cookie.substring(0, name.length + 1) === (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } });