我正在尝试访问服务器端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());
}
);
createString()对于AJAX请求始终返回“未定义”,即使它在finalString中记录了正确的字符串。
我认为问题是AJAX的异步方面,但是我不确定如何告诉res.send()等待createString()运行。
感谢您的帮助!
答案 0 :(得分:0)
您可以将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);
};