Что делает аргумент URL в функции xhr.open ()? - PullRequest
0 голосов
/ 09 мая 2020

Я пишу серверное программное обеспечение и тестировал его с помощью очень простого файла HTML. Когда я открываю новый запрос POST XMLHttpRequest, похоже, нет никакой разницы, что такое аргумент URL. Кто-нибудь может мне сказать? Вот код, если это помогает:

Браузер HTML файл:

<!DOCTYPE html>
<html>
    <body>
        <title>This is a title!</title>
        <p id="paragraph">
            Hello World!
        </p>
        <script>
            setTimeout(() => {
                var http = new XMLHttpRequest();
                var jsonToSend = {
                    "name": "Steve Smith",
                    "age": 25,
                    "isMale": true
                };
                http.open("POST", "", true);
                http.setRequestHeader("Content-Type", "application/json");
                http.send(JSON.stringify(jsonToSend));
            }, 3000);
        </script>
    </body>
</html>

Код сервера (node.js)

const http = require("http");
const fs = require("fs");
const port = 80;

http.createServer((request, response) => {
    if (request.method == "GET") {
        try {
            var newUrl = request.url.substring(1);

            if (request.url == "/") {
                newUrl = "test.html";
            }

            response.writeHead(200, "OK", {"Content-Type": "text/html"});
            response.write(fs.readFileSync(newUrl).toString());
        } catch (error) {
            response.writeHead(404, "Not Found", {"Content-Type": "text/html"});
            response.write("<h1>404 not found</h1>");
        }
        response.end();
    } else if (request.method == "POST") {
        var body = "";

        request.on("data", (chunk) => {
            body += chunk.toString();
        });
        request.on("end", () => {
            console.log(JSON.parse(body));
            response.statusCode = 200;
            response.end(body);
        });
    }

    console.log(request.method + ":");
    console.log("  URL: " + request.url);
    console.log("  Status code: " + response.statusCode);
}).listen(port, () => {
    console.log("Listening on port " + port);
});

1 Ответ

0 голосов
/ 09 мая 2020

Устанавливает URL-адрес, на который делается запрос.

Это только не имеет значения, потому что вы написали веб-сервер, который не обращает внимания на URL-адрес для запросов POST.

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