读取“$(...).toast”时出现类型错误

Yas*_*ine 5 javascript jquery bootstrap-4 django-channels

我正在使用 Django Channels 和 WebSockets 编写一个 Web 应用程序,并且我想在 WebSocket 连接打开时动态创建 bootstrap toast ( https://getbootstrap.com/docs/4.2/components/toasts/ )。问题是引发错误“ Uncaught TypeError: $(...).toast is not a function ”。所以问题是如何阅读 $('.toast').toast('show'); Socket.onopen不太喜欢 jQuery)中的行。如果您有任何想法,我将不胜感激?

这是js文件的一部分:

 var Socket = new ReconnectingWebSocket(ws_path)
    Socket.onopen = function (e) {
      newToast();
      $('.toast').toast('show');
     };

    function newToast(data) {
        // create Bootstrap toast element
     };
Run Code Online (Sandbox Code Playgroud)

在html文件的头部,加载了Bootstrap和jQuery:

<head>
   <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
   <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
   <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

PS:我已经尝试用 jQuery 替换美元符号。同样的错误:未捕获的类型错误:jQuery(..) ...

小智 0

我面临着同样的问题...我能找到的唯一解决方案是使用谷歌的 CDN

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Run Code Online (Sandbox Code Playgroud)