【问题标题】:Issue with asynchronous javascript post request异步 javascript 发布请求的问题
【发布时间】:2023-03-13 17:05:01
【问题描述】:

我试图简单地将一个 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);

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

【问题讨论】:

  • 您是否使用 express 作为webRouter
  • 那是什么问题
  • 您的控制台->网络页面有任何错误吗?
  • 显示回调,问题可能出在那儿。

标签: javascript node.js ajax asynchronous


【解决方案1】:

在服务器响应请求时,一般不应该返回值,而是需要调用响应函数。使用 express 时,res.sendFile 可以解决问题:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多