为什么Ajax没有在第二次点击时填充DIV?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Ajax没有在第二次点击时填充DIV?相关的知识,希望对你有一定的参考价值。

我正在从TAB div中的URL加载数据,数据在第一次请求/点击时成功加载,但在第二次请求/点击它转到目标链接并且不填充目标DIV

锚:

<li><a data-toggle="tabAjax" href="http://site.cx/admin/get-coach-stylish-view?userId={{userId}}" id="ajax_tab" class="media_node active span" data-target="#coach-view-stylish-ajax" rel="tooltip">Coach View (Stylised)</a></li>

Div填充DATA:

<!-- Coach View Stylised -->
<div id="coach-view-stylish-ajax">
</div>
<!-- Coach View Stylised End -->

JS:

<script>

$('[data-toggle="tabAjax"]').click(function(e) {
    e.preventDefault();
    var $this = $(this),
        loadUrl = $this.attr('href'),
        target = $this.attr('data-target');

    $.get(loadUrl, function(data) {
        $(target).html(data);
    });

    $this.tab('show');
    return false;
});

</script>
答案

1-尝试在您的代码中放置一个调试器,并检查第二次单击时是否调用了代码。如果没有,那么您需要重新绑定click事件。

2-你可以这样试试

<li><a data-toggle="tabAjax" href="#" data-href="http://site.cx/admin/get-coach-stylish-view?userId={{userId}}" id="ajax_tab" class="media_node active span" data-target="#coach-view-stylish-ajax" rel="tooltip">Coach View (Stylised)</a></li>

make href =“#”并将url存储在data-href =“...”中

并在您的javascript

<script>

$('[data-toggle="tabAjax"]').click(function(e) {
    e.preventDefault();
    var $this = $(this),
        loadUrl = $this.attr('data-href'), //change href to data-href
        target = $this.attr('data-target');

    $.get(loadUrl, function(data) {
        $(target).html(data);
    });

    $this.tab('show');
    return false;
});

</script>

以上是关于为什么Ajax没有在第二次点击时填充DIV?的主要内容,如果未能解决你的问题,请参考以下文章

如何在第二次单击时关闭 div?

Div 在使用 ajax 和 django 进行第二次点击后显示/隐藏

Ajax 表单提交在第一次提交时返回错误,但在第二次单击时提交

useState 在第二次点击时更新状态

用click事件调用ajax 第一次点击有用,第二次就失效了

翻译动画在第二次点击之前被忽略