未定义Django javascript不工作$
所以,我一直在做一个django项目(使用djagno 1.11),我看到了一个非常酷的聊天功能,有人用他们的git repo(使用django 2.0)模拟了它。我可以在自己的应用程序中按照指南重新创建整个项目,但当我将其添加到自己的应用程序中时,我会遇到麻烦。我目前的应用程序使用bootstrap,并使用javascript将项目添加到购物车和其他类似的东西,我想知道这是否会妨碍我。其他的javascript仍然有效,而新的javascript不起作用。我知道你的基本错误: 未捕获引用错误:$未定义 当我在谷歌上搜索它时,我发现这意味着某些东西在被定义之前就已经被使用了。我对python很在行,但对javascript非常熟悉,所以我不确定到底发生了什么。深入到错误中,我看到了以下几点:未定义Django javascript不工作$,javascript,django,materialize,Javascript,Django,Materialize,所以,我一直在做一个django项目(使用djagno 1.11),我看到了一个非常酷的聊天功能,有人用他们的git repo(使用django 2.0)模拟了它。我可以在自己的应用程序中按照指南重新创建整个项目,但当我将其添加到自己的应用程序中时,我会遇到麻烦。我目前的应用程序使用bootstrap,并使用javascript将项目添加到购物车和其他类似的东西,我想知道这是否会妨碍我。其他的javascript仍然有效,而新的javascript不起作用。我知道你的基本错误: 未捕获引用错误:
<script src="https://project.s3.amazonaws.com/static/js/chat.js"></script>
<script>
// For receiving
sender_id = "";
receiver_id = "1";
//For sending
$(function () { <<-- This is where the error is pointing to.
scrolltoend();
$('#chat-box').on('submit', function (event) {
event.preventDefault();
var message = $('#id_message');
send('', '', message.val());
message.val('');
})
})
</script>
</div>
//接收
发送者_id=“”;
接收方_id=“1”;
//送
$(function(){必须添加以下行
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
以上/之前
<script src="https://project.s3.amazonaws.com/static/js/chat.js"></script>
此行必须添加以下行
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
以上/之前
<script src="https://project.s3.amazonaws.com/static/js/chat.js"></script>
这一行我认为您没有正确声明变量
变量
sender_id = "";
receiver_id = "1";
应该这样宣布,
var sender_id = "";
var receiver_id = "1";
// if you are using ES6 then
const sender_id="";
const receiver_id = "1";
除此之外,也许您应该像Ahmet Zeybek所说的那样包括jquery
Materialize.js和Materialize.css是Materialize框架的一部分,类似于bootstrap。我认为您没有正确声明变量
变量
sender_id = "";
receiver_id = "1";
应该这样宣布,
var sender_id = "";
var receiver_id = "1";
// if you are using ES6 then
const sender_id="";
const receiver_id = "1";
除此之外,也许您应该像Ahmet Zeybek所说的那样包括jquery
Materialize.js和Materialize.css是Materialize框架的一部分,类似于bootstrap。如果您的问题得到解决,请不要忘记接受答案。因此,java脚本实际上是在html代码片段中,因此发送方和接收方实际上是正确的。我去做了Ahmet的建议,并修复了它。很好。但是,如果你没有正确声明变量,那么你的代码是如何工作的?如果你的问题解决了,那么请不要忘记接受答案。因此,java脚本实际上是在一段html代码中,因此发送方和接收方实际上是正确的。我去做了Ahmet的建议并修复了它。很好。但是,你的代码是如何工作的呢ng,如果您没有正确声明变量??您必须定义jquery,或者如果您确实定义了,这是您的js块顺序。浏览器呈现的顺序取决于html标记的顺序。我想您是对的。我按照Ahmet下面所说的做了,从技术上讲,错误消失了,但现在我在可能应该有jquery的每个html页面上调用jquery在一个点上。我需要看看js块顺序。我认为js块排在最后,因为这个js在html代码块中,所以它是无序的。我认为您可以做以下操作:在base.html(母版页)上放置jquery,在它的脚本标记之后放置{%block scripts%}{%endblock scripts%},在子页面上放置js函数{%block scripts%}{%endblock scripts%}.PS://这只是一个简单的解释//你必须定义jquery,或者如果你确实定义了,那就是你的js块顺序。浏览器呈现的顺序取决于html标记的顺序。我想你是对的。我按照Ahmet下面说的做了,技术上错误消失了,但现在我在每个html页面上调用jquery,我应该在一个位置调用它。我我需要看看js块顺序。我认为js块排在最后,因为这个js在一个html代码块中,所以它是无序的。我认为你可以做以下事情:在你的base.html(母版页)上放置你的jquery,在它的脚本标记之后放置{%block scripts%}{%endblock scripts%},在子页面上放置js函数{%block scripts%}{%endblock scripts%}.PS://这只是一个简单的解释//