Javascript django模板中的socket.io-node.js不是service socket.io.js
我有Django应用程序,需要使用实时推送客户端。Javascript django模板中的socket.io-node.js不是service socket.io.js,javascript,django,node.js,express,socket.io,Javascript,Django,Node.js,Express,Socket.io,我有Django应用程序,需要使用实时推送客户端。 我想使用node.js和socket.io(据我所知,这是目前最简单的平台) 为了实现它,我将socket.io框架代码放在模板上: {% extends "base.html" %} {% block content %} {% if error %} <div id="error"> <h3>{{ error }}</h3> </div> {% endif %} &l
我想使用node.js和socket.io(据我所知,这是目前最简单的平台) 为了实现它,我将socket.io框架代码放在模板上:
{% extends "base.html" %}
{% block content %}
{% if error %}
<div id="error">
<h3>{{ error }}</h3>
</div>
{% endif %}
<div id="reply">
<script src="http://localhost:8889/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
var socket = io.connect('http://localhost:8889');
socket.on('connect', function(){
socket.emit('addOrder', 99, {{ reply_id }});
});
</script>
Thank you for your reply
</div>
{% endblock %}
除非您在
localhost
<script src="http://localhost:8889/socket.io/socket.io.js"></script>
这样,您就不必指定IP,它将与原始HTML页面的来源相同您可以为您的服务器端
node.js提供代码吗script当您尝试访问http://localhost:8889/socket.io/socket.io.js
从您的浏览器?服务器位于AWS(亚马逊)上,因此,我的浏览器中的localhost将无法工作。给我一个javascript(以“/*!Socket.IO.js build:0.9.16,development.Copyright(c)2011 LearnBoost MIT Licensed*/”开头)。从服务器本身,使用“curl”可以得到相同的javascript页面。所以除了Django模板之外一切都很好:)。。谢谢那么为什么您的模板引用localhost呢?将其更改为
我现在将尝试更改它。但是我需要机器的内部IP,而不是外部IP,对吗?机器为亚马逊EC2机器,附带弹性IP。。顺便说一句,我现在要试试——我正在同一台主机上运行node.js和Django。。我仍然不明白为什么本地主机在这里不好…因为它是与客户端相关的localhost
,它始终是相同的IP地址127.0.0.1
ohhhh。。太蠢了。。有趣的是,当你深陷其中时,你怎么看不见东西……)谢谢
<script src="http://localhost:8889/socket.io/socket.io.js"></script>
<script src="http://SERVER_IP:8889/socket.io/socket.io.js"></script>
<script src="/socket.io/socket.io.js"></script>