簡體   English   中英

如何解決無法從發布請求中獲取文本回復的問題

[英]How to fix not getting text response from Post request

我是使用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頁面中顯示該消息?

其實我了解您的摘要。 我還了解到,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 */)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM