質問編集履歴

3

ご回答分を修正

2018/10/24 09:36

投稿

tsu2626
tsu2626

スコア12

test CHANGED
File without changes
test CHANGED
@@ -135,3 +135,85 @@
135
135
 
136
136
 
137
137
  よろしくおねがいします。
138
+
139
+
140
+
141
+
142
+
143
+ # ご回答を頂いた部分を修正しました
144
+
145
+ ```js
146
+
147
+ var express = require('express');
148
+
149
+ var router = express.Router();
150
+
151
+
152
+
153
+ let https = require('https');
154
+
155
+
156
+
157
+ const XRP = "https://coincheck.com/api/rate/xrp_jpy";
158
+
159
+ var state = {};
160
+
161
+
162
+
163
+ https.get(XRP, (res) => {
164
+
165
+ var body = '';
166
+
167
+ res.setEncoding('utf8');
168
+
169
+ res.on('data', (chunk) => {
170
+
171
+ body += chunk;
172
+
173
+ });
174
+
175
+ res.on('end', (chunk) => {
176
+
177
+ // state.rate = JSON.stringify(body);
178
+
179
+ state.rate = JSON.parse(body);
180
+
181
+ console.log(`${state.rate}`);
182
+
183
+ })
184
+
185
+ }).on('error', (e) => {
186
+
187
+ console.log(e.message);
188
+
189
+ });
190
+
191
+
192
+
193
+ router.get('/', (req, res, next) => {
194
+
195
+ res.render('top', {
196
+
197
+ title: 'TOP',
198
+
199
+ rate: `現在のレートは${state.rate}円/XRP`
200
+
201
+ });
202
+
203
+ });
204
+
205
+
206
+
207
+ module.exports = router;
208
+
209
+ ```
210
+
211
+ 上記の通り、編集しました。
212
+
213
+ しかし結果は
214
+
215
+ コンソール→現在のレートは[object Object]円/XRP
216
+
217
+ ブラウザ→現在のレートは[object Object]円/XRP
218
+
219
+ でした。

2

試したことを追記

2018/10/24 09:36

投稿

tsu2626
tsu2626

スコア12

test CHANGED
File without changes
test CHANGED
@@ -112,4 +112,26 @@
112
112
 
113
113
 
114
114
 
115
+ # 試したこと
116
+
117
+ rateの中身を${res}に変更すると、[object Object]と表示されます。
118
+
119
+ ```js
120
+
121
+ router.get('/', (req, res, next) => {
122
+
123
+ res.render('top', {
124
+
125
+ title: 'TOP',
126
+
127
+ rate: `現在のレートは${res}円/XRP`
128
+
129
+ });
130
+
131
+ });
132
+
133
+ ```
134
+
135
+
136
+
115
137
  よろしくおねがいします。

1

コードを更新いたしました。 現状は「コンソールに表示はできるが、ブラウザ上ではundefined」になってしまうです。

2018/10/23 13:29

投稿

tsu2626
tsu2626

スコア12

test CHANGED
File without changes
test CHANGED
@@ -34,41 +34,49 @@
34
34
 
35
35
 
36
36
 
37
- https.get(XRP, function (res) {
37
+ https.get(XRP, (res) => {
38
38
 
39
- var body = '';
39
+ var body = '';
40
40
 
41
- res.setEncoding('utf8');
41
+ res.setEncoding('utf8');
42
42
 
43
- res.on('data', function (chunk) {
43
+ res.on('data', (chunk) => {
44
44
 
45
- body += chunk;
45
+ body += chunk;
46
46
 
47
- });
47
+ });
48
48
 
49
- res.on('data', function (chunk) {
49
+ res.on('end', (chunk) => {
50
50
 
51
- // body の値を json としてパースしている
51
+ // body の値を json としてパースしている
52
52
 
53
- res = JSON.parse(body);
53
+ res = JSON.parse(body);
54
54
 
55
- console.log(`現在のレートは${res.rate}円/XRP`);
55
+ console.log(`現在のレートは${res.rate}円/XRP`);
56
56
 
57
- router.get('/', (req, res, next) => {
57
+ })
58
58
 
59
- res.render('top', {
59
+ }).on('error', (e) => {
60
60
 
61
- title: 'TOP',
61
+ console.log(e.message);
62
62
 
63
- rate: `現在のレートは${res.rate}円/XRP`
63
+ });
64
64
 
65
- });
66
65
 
66
+
67
+ router.get('/', (req, res, next) => {
68
+
69
+ res.render('top', {
70
+
67
- });
71
+ title: 'TOP',
72
+
73
+ rate: `現在のレートは${res.rate}円/XRP`
68
74
 
69
75
  });
70
76
 
71
77
  });
78
+
79
+
72
80
 
73
81
  module.exports = router;
74
82
 
@@ -104,68 +112,4 @@
104
112
 
105
113
 
106
114
 
107
- ### 試したこと
108
-
109
- https.getの中にrouter.getに入れたり入れなかったりしてみました..
110
-
111
- ちなみに以下のコードだと、コンソール表示はできますがrate: `現在のレートは${res.rate}円/XRP`の部分はres.rate not difinedのようになります。
112
-
113
- ```js
114
-
115
- var express = require('express');
116
-
117
- var router = express.Router();
118
-
119
-
120
-
121
- let https = require('https');
122
-
123
-
124
-
125
- const XRP = "https://coincheck.com/api/rate/xrp_jpy";
126
-
127
-
128
-
129
- https.get(XRP, function (res) {
130
-
131
- var body = '';
132
-
133
- res.setEncoding('utf8');
134
-
135
- res.on('data', function (chunk) {
136
-
137
- body += chunk;
138
-
139
- });
140
-
141
- });
142
-
143
- res.on('data', function (chunk) {
144
-
145
- // body の値を json としてパースしている
146
-
147
- res = JSON.parse(body);
148
-
149
- console.log(`現在のレートは${res.rate}円/XRP`);
150
-
151
- router.get('/', (req, res, next) => {
152
-
153
- res.render('top', {
154
-
155
- title: 'TOP',
156
-
157
- rate: `現在のレートは${res.rate}円/XRP`
158
-
159
- });
160
-
161
- });
162
-
163
- });
164
-
165
- module.exports = router;
166
-
167
- ```
168
-
169
-
170
-
171
115
  よろしくおねがいします。