如何修复不从Post请求获取文本响应

问题描述 投票:-1回答:1

我是使用nodejs和javascript的新手,所以如果我只是做了一些明显错误的事情,我很抱歉。我有一个nodejs应用程序我正在运行并提供一个HTML页面。该html页面可以使用XMLHttpRequest发送Post请求。请求通过,我的节点应用程序调用我的请求要调用的函数。问题是我想从该请求中获取一些数据,因此我试图从对请求的响应中获取该数据。问题是我得到一个空洞的回答,我不知道为什么。

这是我的要求。

function SendCachedTriangulation(){
            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById('responseLog').textContent = "sent triangulation: " + this.response;
                }
            };
            xhttp.open("Post", "/sendCachedTriangulation");
            xhttp.setRequestHeader("Content-type", "application/json");

            var text = '{ "data" : ' + '{ "someData":"' + '1' + '" } }';

            xhttp.send(text);
            return false;

}

我得到的结果是响应是空的。它确实更新了我想要更新的元素,但它只是说“发送三角测量:”。

在nodejs方面,这是我的代码。

router.post('/sendCachedTriangulation', (req, res, next) => {
client.SendCachedTriangulation(() => {    
        res.status(200)
    ;}, req.body
    );       
res.status(200).message = "sent triangulation";
res.send();

});

这似乎是调用我的函数正确发送缓存三角测量我只是没有得到“发送三角测量”的消息。

我需要更改哪些内容才能在HTML页面中显示该消息?

javascript html node.js rest
1个回答
2
投票

其实我理解你的片段。我也明白第一次使用Node很复杂,因为Javascript就是一切。让我解释一下:在你的HTML中,认为请求是正常的,但实际上有两个文件:执行请求的HTML文件和响应请求的节点HTTP服务器。所以我的意思是:

// /server/app.js 

router.post('/sendCachedTriagulation', (req, res, next) => { 
      res.status(200).send("sent triangulation") 
}) 

// /client/index.html 

client.SendCachedTriangulation(/* do stuff */)
© www.soinside.com 2019 - 2024. All rights reserved.