node.js - 意外的 token 非法 - response.write() 错误

标签 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 行开始的引号处抛出。我已经尽我所能(使用单引号而不是双引号、嵌套引号、删除引号、将字符串放在括号内等),但似乎没有任何效果。奇怪的是,我在网站上看到许多示例都在做我正在尝试做的完全相同的事情,但没有这样的问题。

最佳答案

您的字符串格式似乎有误,在 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/

相关文章:

javascript - 从 module.exports 内的不同函数访问函数

node.js - Docker Build 在 GCP Cloud Build 中失败 - 但在 localhost 中成功

node.js - 使用大于 6.0.0 的引擎在 Azure 应用服务上运行 Node 应用程序时出现问题

node.js - 多设备混合应用程序中未指定 NodeJs 的路径

node.js - 将 Node.js 应用程序导入 Intellij IDEA

node.js - 在 Node.js 中记录每个请求

javascript - 如何在 Electron Js 项目中使用母版页

javascript - 如何在 javascript/nodejs 中的 try...catch 期间防止双重回调?

node.js - AWS,NodeJS - 将应用程序连接到另一个 EC2 实例上的 Mongodb

javascript - JsonWebToken错误: jwt must be provided