Django对锚标记无响应

时间:2018-10-13 12:50:20

标签: django

 <a  href="#test" data-toggle="tab">test</a>

 ...

 <div class="tab-pane " id="test">
    <table>
    ...
    </table>
 </div>

单击#test锚点时,该行为应记录在服务器中。因此,在urls.py中,我定义了类似的内容

url(r'#test$', views.log())
or 
url(r'.*#test$', views.log())

但似乎不起作用。 我必须在这里使用锚,因为我不想刷新页面。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

以下是一些JavaScript,它们以href开头的属性带有#属性的链接,并在每次单击链接时向https://localhost:8000/<whatever was after the hash sign>发出请求。它不可靠,需要根据您的情况进行修改,但也许可以作为一个起点。

var hashLinks = document.querySelectorAll('a[href^="#"]');
var i;

function hashLinkClicked(event) {
    var hash, url, request;
    // You probably want to allow default link behaviour here
    event.preventDefault();
    hash = this.hash;
    // Cut hash character out of URL
    url = 'http:/localhost:8000/' + hash.slice(1);
    request = new XMLHttpRequest();
    request.onreadystatechange = function () { /* Handle response here */ };
    request.open('GET', url);
    request.send();
}

for (i = 0; i < hashLinks.length; i++) {
    hashLinks[i].addEventListener('click', hashLinkClicked);
}