首页 > 解决方案 > Boostrap JS bundle 和 AJAX 之间可能存在冲突吗?

问题描述

所以我有我的 jquery 脚本如下。但由于某种原因,jquery 不适用于我的 Bootstrap。当我删除 ajax 部分时它工作正常,但它对我的 Django 应用程序是必需的。是顺序问题吗?还是我使用了错误的捆绑包?提前致谢 :)

...
    <!-- Bootstrap4 CDN -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
    <!-- JS bundle for Bootstrap4 -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
    <!-- for AJAX -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
...

标签: ajaxbootstrap-4

解决方案


没有冲突(仅当您使用 jQuery 时) 有时需要将 Bootstrap 插件与其他 UI 框架一起使用。在这些情况下,有时会发生命名空间冲突。如果发生这种情况,您可以在要恢复其值的插件上调用 .noConflict。

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality

而且, $.ajax is not a function 错误通常是因为您使用的是 jQuery 的 slim 分支,而不是完整版本。删除那个纤细的引用并只使用 jquery-3.5.1.min.js 的一个副本


推荐阅读