意外的令牌ILLEGAL - response.write()错误

时间:2012-09-24 13:21:23

标签: node.js

作为对类的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行开始的引号处抛出错误。我已经尝试了所有我能做的事情(使用单引号而不是双引号,嵌套引号,删除引号,将字符串放在括号内等),但似乎没什么用。奇怪的是,我已经在网站上看到了一些我正在尝试完全相同的例子,没有这样的问题。

1 个答案:

答案 0 :(得分:3)

似乎你的字符串格式错误,在javascript中,如果没有转义换行符或在行上添加字符串,就无法将字符串继续到新行。

这将引发错误:

  var str = "Starting string
  trying to continue";

使用转义

  var str = "Starting string\
  trying to continue";

使用添加

  var str = "Starting string" +
  "trying to continue";