我在node.js书中练习一些jade代码。 但它失败了。带有错误信息。我检查了语法,发现没有拼写错误。 有人能给我一个提示吗?非常感谢。
SyntaxError: /var/lib/stickshift/52d92cbee0b8cdfa010000ca/app-
root/data/743166/views/chat.jade:9
7| document.getElementById('chat').innerHTML =
8| '<p><b>' + data.title + '</b>: ' + data.contents + '</p>';
> 9| });
10| var submitChat = function(form) {
11| socket.emit('chat', {text: form.chat.value});
12| return false
(适用layout.jade)
doctype html
html(lang='en')
head
title My Web Site
block scripts
(适用chat.jade)
extends layout
block scripts
script(type='text/javascript', src='/socket.io/socket.io.js')
script(type='text/javascript')
var socket = io.connect('http://localhost:8080');
socket.on('chat', function(data) {
document.getElementById('chat').innerHTML =
'<p><b>' + data.title + '</b>: ' + data.contents + '</p>';
});
var submitChat = function(form) {
socket.emit('chat', {text: form.chat.value});
return false;
};
block content
div#chat
form(onsubmit='return submitChat(this);')
input#chat(name='chat', type='text')
input(type='submit', value='Send Chat')
答案 0 :(得分:1)
在标记的末尾添加.
以将其内容声明为文本而不是jade标记。这样您就可以在脚本标记内编写JS。
script(type='text/javascript').
var socket = io.connect('http://localhost:8080');
socket.on('chat', function(data) {
document.getElementById('chat').innerHTML =
'<p><b>' + data.title + '</b>: ' + data.contents + '</p>';
});