gpt4 book ai didi

javascript - SammyJS 不与 Django 一起工作

转载 作者:行者123 更新时间:2023-11-29 22:13:11 24 4
gpt4 key购买 nike

我将 KnockoutJS 与 SammyJS 一起用于客户端模板和 Django 框架在我的应用程序的顶部栏中,有一个用于用户注销的下拉菜单。这是它的代码 -

<div class="pull-right user">
<a href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">
<p><span id="topbar_first_name"></span></p>
<b class="caret"></b>
<ul class="dropdown-menu" role="menu">
<li><a tabindex="-1" href="{% url 'user:logout' %}">Logout</a></li>
</ul>
</a>
</div>

在我开始使用 SammyJS 之前,注销链接有效。但是现在,只有浏览器的 url 更改为 'http://localhost:8000/user/logout/'(这是链接的正确 url)。只有在重新加载页面后,用户才能注销。

在我的 JS 文件中,这是 Sammy 的唯一功能 -

Sammy(function() {
this.get('#:folder', function() {
self.chosenFolderId(this.params.folder);
$.get('/tasks/get', { folder: this.params.folder }, function(data) {
self.tasks_list(data);
});
});

this.get('', function() {
this.app.runRoute('get', '#Active')
});
}).run();

我尝试将“href”更改为外部链接(如“www.stackoverflow.com”)。在此之后,浏览器的 url 更改为 'http://localhost:8000/www.stackoverflow.com' 但它不起作用。如何解决这个问题?

最佳答案

行:

this.get('', function() {
this.app.runRoute('get', '#Active')
});

弄乱了您的链接。这告诉 SammyJS 拦截所有链接。你想用这个达到什么目的?我会做的是:

Sammy(function() {
this.get('#:folder', function() {
self.chosenFolderId(this.params.folder);
$.get('/tasks/get', { folder: this.params.folder }, function(data) {
self.tasks_list(data);
});
});

}).run('#Active');

关于javascript - SammyJS 不与 Django 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com