好吧,所以我的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);```
答案 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。