3

クラスの node.js の紹介のようなものとして、単純なログイン/ログアウト/ユーザー ID システムを処理する cgi スクリプトをプログラムするために、node.js を使用しています。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行目から始まる引用符でスローされます。できることはすべて試しました(二重引用符の代わりに単一引用符を使用する、引用符をネストする、引用符を削除する、文字列を括弧内に入れるなど)。仕事に。奇妙なことに、Web サイトで、私がやろうとしているのとまったく同じことをしている例を数多く見てきましたが、そのような問題はありませんでした。

4

1 に答える 1

3

文字列のフォーマットが間違っているようです.javascriptでは、改行をエスケープするか、行に文字列を追加しない限り、文字列を新しい行に続けることはできません.

これはエラーをスローします:

  var str = "Starting string
  trying to continue";

エスケープの使用

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

追加の使用

  var str = "Starting string" +
  "trying to continue";
于 2012-09-24T14:53:45.300 に答える