簡體   English   中英

對node.js服務器的AJAX調用返回未定義

[英]AJAX call to node.js server returns undefined

我正在嘗試訪問服務器端Node.js函數返回的字符串。

function createString () {
    do something ...
    console.log(finalString);
    return finalString;
};

我正在使用普通的JavaScript AJAX請求從服務器獲取字符串

const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
    do something ...
};
xhr.open('GET', 'http://localhost:5000/array');
xhr.send();

我的服務器端看起來像:

app.get('/array', (req, res) => {
        console.log('request received');
        console.log(createString());
        res.send(createString());
    }
);

對於AJAX請求,盡管createString()始終在finalString中記錄正確的字符串,但始終返回“ undefined”。

我相信問題是AJAX的異步方面,但是我不確定如何告訴res.send()等待createString()運行

任何幫助表示贊賞!

您可以將reqres對象傳遞給createString函數。 (我假設您的createArray是一個錯字,應該是createString )。 確實,如果您僅具有此功能,則可以簡單地擁有:

server.js

app.get('/array', createString);

createString.js

function createString (req, res) {
    do something ...
    console.log(finalString);
    return res.status(200).send(finalString);
};

暫無
暫無

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

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