Node.js не принимает унарный плюс - PullRequest
1 голос
/ 20 июня 2020

Итак, когда я отправляю свой код с HTML textarea на свой Node.js сервер для выполнения в терминале через Javascript, он не принимает унарный оператор.

Итак, это это HTML, где я ввожу свой код:

<textarea rows="20" class="input" id="code" name="codearea" style="background-color: black;color: greenyellow;" autofocus></textarea>

Это строки Javascript, используемые для отправки моего кода на Node.js:

            var code = document.getElementById("code").value;
            let xhr = new XMLHttpRequest();

            xhr.onreadystatechange = () => {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    document.getElementById("results").innerHTML = xhr.responseText;
                    btn.style.display = "initial";
                }
            }

            xhr.open("POST", "http://localhost:8080/codetest/");
            xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xhr.send("code=" + code);

и мой Node.js script:

  function testCode(req, res) {
  let code = req.body["code"];

Итак, после того, как я напишу свой код в textarea из HTML, например print(10+2), он обычно пропускает оператор '+', когда код отправляется на Node.js.

Пожалуйста, помогите.

Заранее спасибо.

1 Ответ

0 голосов
/ 22 июня 2020

Пожалуйста, используйте body-parser в приложении узла для анализа данных: Шаг 1:

yarn add body-parser or npm install body-parser

Затем добавьте приведенный ниже код в свой основной индексный файл:

var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

и замените xhr.send("code=" + code) на xhr.send("code=" + encodeURIComponent (code)). Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...