質問編集履歴

4

追記

2020/06/29 08:04

投稿

maskmelon
maskmelon

スコア63

test CHANGED
File without changes
test CHANGED
@@ -189,3 +189,7 @@
189
189
 
190
190
 
191
191
  ejs上の変数をスクリプトに渡す上でJSONに変換するということがなぜ有効なのか分かっていないため、無意味なことをしてしまっているように思います。
192
+
193
+
194
+
195
+ スクリプト内で%タグを使うとExpression expected.が発生するのはどのやり方でも同じようです。

3

追記

2020/06/29 08:04

投稿

maskmelon
maskmelon

スコア63

test CHANGED
File without changes
test CHANGED
@@ -1,11 +1,3 @@
1
- タイトルの通りです。
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
1
  ```ejs
10
2
 
11
3
  <!DOCTYPE html>
@@ -109,3 +101,91 @@
109
101
 
110
102
 
111
103
  分かる方いらっしゃいましたらよろしくお願いします。
104
+
105
+
106
+
107
+
108
+
109
+ ### 追記
110
+
111
+
112
+
113
+ ```ejs
114
+
115
+
116
+
117
+ <body>
118
+
119
+ <h1>Q: <%= question.content %></h1>
120
+
121
+ <p id="countA">A: <%= question.countA %></p>
122
+
123
+ <p id="countB">B: <%= question.countB %></p>
124
+
125
+ <a href="/">次の質問</a>
126
+
127
+ <canvas id="graph-area" width="400" height="400"></canvas>
128
+
129
+ <% const countA = JSON.stringify(question.countA) %>
130
+
131
+ <% const countB = JSON.stringify(question.countB) %>
132
+
133
+
134
+
135
+ <script>
136
+
137
+ // ▼グラフの中身
138
+
139
+ var pieData = [
140
+
141
+ {
142
+
143
+ value: parseInt(countA), // 値
144
+
145
+ color:"#F7464A", // 色
146
+
147
+ highlight: "#FF5A5E", // マウスが載った際の色
148
+
149
+ label: "A" // ラベル
150
+
151
+ },
152
+
153
+ {
154
+
155
+ value: parseInt(countB),
156
+
157
+ color: "#41C44E",
158
+
159
+ highlight: "#6CD173",
160
+
161
+ label: "B"
162
+
163
+ },
164
+
165
+ ];
166
+
167
+ // ▼上記のグラフを描画するための記述
168
+
169
+ window.onload = function(){
170
+
171
+ var ctx = document.getElementById("graph-area").getContext("2d");
172
+
173
+ window.myPie = new Chart(ctx).Pie(pieData);
174
+
175
+ };
176
+
177
+
178
+
179
+ </script>
180
+
181
+ </body>
182
+
183
+
184
+
185
+ ```
186
+
187
+ 上のようにスクリプトに渡したい変数をJSONに変換してみたのですがうまくいきません。
188
+
189
+
190
+
191
+ ejs上の変数をスクリプトに渡す上でJSONに変換するということがなぜ有効なのか分かっていないため、無意味なことをしてしまっているように思います。

2

言い回しの変更

2020/06/29 07:58

投稿

maskmelon
maskmelon

スコア63

test CHANGED
File without changes
test CHANGED
@@ -100,11 +100,7 @@
100
100
 
101
101
 
102
102
 
103
- 上のejsファイルでは、サーバー側から変数questionを渡して表示させています。スクリプトタグの内部にも変数questionのデータを反映させたいです
103
+ 上のejsファイルでは、サーバー側から変数questionを渡してブラウザに表示させています。同様にスクリプトタグの内部にも変数questionのデータを渡したいですが、どのような方法が考えられるでしょうか?
104
-
105
-
106
-
107
- テンプレートエンジンを使ってサーバー側からクライアント側にデータを渡すのと同じように、クライアント側のjsファイル(スクリプトタグ内部)にデータを渡すにはどのような方法が考えられるでしょうか?
108
104
 
109
105
 
110
106
 

1

タグの追加

2020/06/28 01:46

投稿

maskmelon
maskmelon

スコア63

test CHANGED
File without changes
test CHANGED
File without changes