【发布时间】:2016-06-27 15:33:04
【问题描述】:
我正在尝试将 JSON 对象从 javaScript 发送到 node.js 服务器。我使用标准 XMLHttpRequest 从 javascript 和标准 node.js 代码发送它。
两个代码似乎可以正常通信,但是 node.js 总是给我一个空的 JSON 对象。我不确定我做错了什么。
这是我的 javascript 代码:
<html>
<head>
<script>
function xhrPost() {
var data = {"name":"John", "time":"2pm"};
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "http://[serverIP]:8080/addUser");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("content-type", "application/json;charset=UTF-8");
xhr.send(JSON.stringify(data));
}
</script>
</head>
<body onload="xhrPost()">
</body>
</html>
这是我的 node.js 代码:
var express = require("express");
var myParser = require("body-parser");
var app = express();
app.use(myParser.urlencoded({extended : true}));
app.post("/addUser", function(request, response) {
console.log(request.body); // this line allways produce {}
response.send("Message received.");
response.end();
});
app.listen(8080);
【问题讨论】:
标签: javascript json ajax node.js