サーバーのデータをjavascriptクライアントに送信し、html(jade)で出力しようとしています。Node.jsサーバーデータをJavascriptクライアントに送信する方法は?
問題
1.マイJsのクライアント& HTML変数(公開鍵、名前、アーティスト、写真、idが)( "試す" または "キャッチ" 条件文の意味上の
2.明確ではない "未定義" です多分これが影響しているもの)
私の研究
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
Basic Ajax send/receive with node.js
私のサーバーコード、Javscriptクライアント、またはJadeに問題はありますか?
のNode.jsサーバー
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クライアント
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のクライアント&HTMLは "未定義" である* - これは何を意味するのでしょうか? HTML文書のURLをアドレスバーに入力すると、ブラウザがビューポートに 'undefined'という単語をレンダリングするだけですか? – Quentin
* "try"や "catch"の条件が何を意味するのかわかりません* - JavaScriptの基本部分です。 [それらを読んでみてください](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/try..catch)? – Quentin
@Quentin私の質問を更新し、Jsリソースに感謝します。 –