[英]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()運行 。
任何幫助表示贊賞!
您可以將req
和res
對象傳遞給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.