Javascript 在节点js服务器上提供XMLHttp POST请求
我试图在NodeJS服务器上提供XMLHttprequest(POST) 服务器端:Javascript 在节点js服务器上提供XMLHttp POST请求,javascript,node.js,post,xmlhttprequest,Javascript,Node.js,Post,Xmlhttprequest,我试图在NodeJS服务器上提供XMLHttprequest(POST) 服务器端: app.use(bodyParser.urlencoded({extended:true})); app.use(bodyParser.json()); app.post('/count', function(request, response){ console.log(request.body); response.send(request.body
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.post('/count', function(request, response){
console.log(request.body);
response.send(request.body);
});
客户端:
<script>
var xmlhttp = new XMLHttpRequest();
var resp = ""
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200){
resp = xmlhttp.responseText;
resp = JSON.parse(resp);
document.write(resp);
}
}
var check = "Hello";
function show(){
xmlhttp.open("POST","http://localhost:3000/count", true);
xmlhttp.send(JSON.stringify(check));
</script>
var xmlhttp=new XMLHttpRequest();
var resp=“”
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
resp=xmlhttp.responseText;
resp=JSON.parse(resp);
文件编写(resp);
}
}
var check=“你好”;
函数show(){
open(“POST”http://localhost:3000/count“,对);
send(JSON.stringify(check));
我得到的输出是[对象]
哪里出了问题?在客户端添加setrequestheader解决了这个问题
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
尝试
JSON.stringify(request.body).forEach(console.log)
并查看它打印的内容。如果在客户端使用fetch
API,可能会使您的代码更易于推理:没有理由继续进行stringify。我不知道人们是从哪里得到这些信息的。首先,请替换document.write(resp)
与console.log(resp)
一起使用。您在浏览器控制台中看到了什么?对象{}\u proto:Object(替换为console.log(resp)后)