异步JavaScript发布请求出现问题

时间:2020-08-31 08:00:03

标签: javascript node.js ajax asynchronous

我试图简单地将ejs变量设置为每秒通过ajax发布请求检索的数据。 (刷新日志)我已经尝试过回调函数,感觉好像我真的很接近,但似乎无法破解它。

下面是JavaScript:

    function getResults(callback){     
        $.ajax({
            url: '/resultsRefresh',
            type: 'POST',
            async: true,
            cache: false,
            success: callback 
        })
    };

    function setResults(result) {
            console.log("result: " + result);
            document.getElementById("results") = result;
    };
    
    window.setInterval(getResults(setResults), 1000);

这是在节点服务器上正在调用的功能:

function readResults(req, res) {
    return fs.readFileSync("./temp/results.txt", 'utf8');
}

正在通过

webRouter.post("/resultsRefresh", readResults);

任何帮助/建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

在服务器中响应请求时,通常不应该返回值,而是需要调用响应函数。使用express时,res.sendFile可以达到目的:

function readResults(req, res) {
    res.sendFile('./temp/results.txt');
}