Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点js服务器上提供XMLHttp POST请求_Javascript_Node.js_Post_Xmlhttprequest - Fatal编程技术网

Javascript 在节点js服务器上提供XMLHttp 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

我试图在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);    
    });
客户端:

<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)后)