如何使用node.js读取请求请求有效负载并进行表达?

时间:2019-10-09 15:45:01

标签: javascript node.js express post xmlhttprequest

好吧,所以我的js每3秒发送一次XMLHTTPRequest帖子,并将用户名和密码作为有效内容。我的问题是,当不是通过表单提交而是通过js提交时,如何读取此有效载荷?

客户端js

setInterval(() => {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', "../getchat", true)
    xhr.onreadystatechange = (e) => {
        if (xhr.readyState == 4 && xhr.status == 200) {
            var response = JSON.parse(xhr.responseText);
            document.getElementById("chat").innerHTML = ""
            for (let i = 0; i < response.length; i++) {
                const element = response[i];
                document.getElementById("chat").innerHTML += "<p>" + element + "</p>"
            }
        }
    }
    xhr.setRequestHeader("Content-Type", "application/json")
    xhr.send({username: "#{username}", password: "#{password}"})

    }, 3000);```

1 个答案:

答案 0 :(得分:0)

您需要调用JSON.stringify()将对象转换为JSON。

xhr.send(JSON.stringify({username: "#{username}", password: "#{password}"}));

然后参见How do I consume the JSON POST data in an Express application了解如何解析node.js代码中的JSON。