Я пытаюсь отправить данные сервера на свой javascript-клиент, а затем вывести его в html (jade).Как отправить данные сервера Node.js клиенту Javascript?
Проблемы
1. My Js Client & Html переменные (ОткрытыйКлюч, имя, художник, картина, ID) являются "неопределенными"
2. Не ясно, на "попробовать" или "поймать" условными означают (может быть, это влияет на что-то)
Мои Исследования
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
Basic Ajax send/receive with node.js
Возможно, проблема связана с кодом сервера, Javscript-клиентом или Jade? Сервер
app.get('/user/:id', function (req, res) {
if (!req.user)
res.send(err);
if(req.user) {
try {
var id = req.params.id;
var dbUser = req.user;
res.send({
'publicKey': dbUser.publicKey,
'name': dbUser.name,
'artist': dbUser.artist,
'picture': dbUser.picture,
'id': dbUser.id
});
} catch (e) {
res.send({'status': 404});
}
} else {
res.send({'status': 403});
}
});
Js Client
Node.js
var keysCache = {};
var xhr = new XMLHttpRequest();
xhr.open('GET', '/user/' + message.userid, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
var res = JSON.parse(xhr.responseText);
keysCache[message.userid] = {
'publicKey': res.publicKey,
'name': res.name,
'artist': res.artist,
'picture': res.picture,
'id': res.id
}
console.log(res.name);
displayOutput(message);
}
};
xhr.send(null);
Джейд
#chat
(...)
script.
window.user = {id:"#{user.id}", name: "#{user.artist}", picture: "#{user.picture}", gtoken: "#{user.gtoken}", eccKey: "#{user.eccKey}"};
script(src='/javascripts/client.js')
* Мой Js Client & Html "не определен" * - Что это значит? Вы говорите, что браузер просто отображает слово «undefined» в окне просмотра, когда вы вводите URL-адрес для HTML-документа в адресную строку? – Quentin
* Я не знаю, что означают «try» или «catch» условные обозначения * - Они являются базовыми частями JavaScript. Вы попробовали [прочитать их] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/try...catch)? – Quentin
@Quentin Я плохо обновил свой вопрос и спасибо за ресурс Js. –