作为类的 node.js 介绍,我用它来编写一个处理简单登录/注销/用户 ID 系统的 cgi 脚本。我遇到了一个问题,因为我尝试使用 response.write()
方法将 HTML 交给客户端,我收到了一个 Unexpected Token ILLEGAL
字符串开始处的引号错误:
var response = require('HTTP');
login = inputReader('QUERY_STRING');
if (login === "false" || login === "logout") {
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(
" <!doctype html>
<head>
<title>Session Makes</title>
<meta name='Author' content='Sam Judson'>
<meta name='Contact' content='sjudson@marlboro.org'>
<link rel='stylesheet' href='SessionMaker.css'>
</head>
<body>
<h1>The way is shut.</h1>
<form action='' method='put'>
<input type='text' name='login'>
<input type='submit' name='login' value='Login'>
</form>
</body>
</html> "
);
};
错误在第 7 行开始的引号处抛出。我已经尽我所能(使用单引号而不是双引号、嵌套引号、删除引号、将字符串放在括号内等),但似乎没有任何效果。奇怪的是,我在网站上看到许多示例都在做我正在尝试做的完全相同的事情,但没有这样的问题。
最佳答案
您的字符串格式似乎有误,在 javascript 中,如果不转义换行符或在行上添加字符串,则无法将字符串继续到新行。
这会抛出一个错误:
var str = "Starting string
trying to continue";
使用转义
var str = "Starting string\
trying to continue";
使用添加
var str = "Starting string" +
"trying to continue";
关于node.js - 意外的 token 非法 - response.write() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12565931/