最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

xhr.open()函数中的URL参数做什么?

IT培训 admin 15浏览 0评论

xhr.open()函数中的URL参数做什么?

我正在编写一些服务器软件,并且已经使用非常简单的HTML文件对其进行了测试。当我打开一个新的XMLHttpRequest POST请求时,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);
});
回答如下:

它设置请求的URL。

这似乎没有什么不同,因为您编写的Web服务器对于POST请求不关注URL

xhr.open()函数中的URL参数做什么?

我正在编写一些服务器软件,并且已经使用非常简单的HTML文件对其进行了测试。当我打开一个新的XMLHttpRequest POST请求时,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);
});
回答如下:

它设置请求的URL。

这似乎没有什么不同,因为您编写的Web服务器对于POST请求不关注URL

发布评论

评论列表 (0)

  1. 暂无评论