Функция не распознает переменные страницы
У меня есть 2 страницы, на которых есть функция выхода из системы... В настоящее время HTML-страница выглядит следующим образом... Test1.js имеет функцию выхода из системы, и всякий раз, когда пользователь нажимает кнопку выхода из системы, вызывается функция выхода из системы. Функция выхода из системы. вызывает почтовый запрос на сервере, передавая идентификатор сеанса и токен csrf...
Проблема:
В этой текущей настройке я не могу получить csrf и идентификатор сеанса со страниц, но когда я перемещаю его внутри функции document.ready отдельной страницы, он работает нормально..
Почему идентификатор сессии и функция csrf не видны, если они разделены..
page1.html
<script src="test1.js"></script>
<form id="searchform" method="post" action="Search">
<input type="hidden" name="CSRF" value="{{acsrf}}" />
<input type="hidden" name="ses_id" value="{{session_id}}" />
<div>
<input name="search_string" id="search_string" type="text">
<input id="searchbutton" name="submit" value="Search" class="input_submit" type="submit">
</div>
</form>
<ul>
<li id="logoutLink"><a href="#">Logout</a></li>
</ul>
$(document).ready(function(){
$('#logoutbutton').click(Logout)
})
Page2.html
<script src="test1.js"></script>
<ul>
<li id="logoutLink"><a href="#">Logout</a></li>
</ul>
$(document).ready(function(){
$(#logoutbutton).click(Logout)
})
test1.js
function Logout() {
$.post("Logout",
{ antiCSRF: '{{acsrf}}',
session_id: '{{session_id}}'
});
alert("You are now logged out.");
window.location = './';
}
1 ответ
Проблема в том, что ваш test1.js
Файл не может получить доступ к значениям из шаблона django. Если вы поместите свой JavaScript в строку, он должен работать, но при добавлении внешнего скрипта django рассматривает его как статический файл.
Этот пост может быть полезным