回答編集履歴

1

補足追記

2019/03/02 14:13

投稿

wwbQzhMkhhgEmhU
wwbQzhMkhhgEmhU

スコア343

test CHANGED
@@ -125,3 +125,87 @@
125
125
  **スクリプトを流し込むのは止めた方がいいです**。
126
126
 
127
127
  よく分からないうちは危ないので。
128
+
129
+
130
+
131
+ ---
132
+
133
+
134
+
135
+ **■追記-1**
136
+
137
+ ご指摘があったので、きちんと書いておきます。
138
+
139
+
140
+
141
+ 今回サンプルで書いたものは、埋め込んだグローバル変数の内容を使っていますが、これはサンプルコードをサーバーなしで動かせるように、本来Ajaxから受け取るはずのデータを書いたものです。なので、この質問者さんの環境でサンプルコードをそのまま使用することはできません。回答そのものは自分で考えて欲しいということもあり、実際の修正内容を載せていなかったのですが、ご指摘で懸念されているように、よく分からずこのまま使用するというのはさらに良くないので、私のサンプルを実際に適用した回答を併記することにしました。
142
+
143
+
144
+
145
+ ```JavaScript
146
+
147
+ // EJS1
148
+
149
+ (function(){
150
+
151
+ let result = confirm('本当に移動しますか?');
152
+
153
+ if (result) {
154
+
155
+ $.ajax({
156
+
157
+ type:"GET",
158
+
159
+ url:"Page1",
160
+
161
+ dataType:"html",
162
+
163
+ success: function(data){
164
+
165
+ $('body').html(data);
166
+
167
+ }
168
+
169
+ });
170
+
171
+ }
172
+
173
+ })();
174
+
175
+ ```
176
+
177
+ ```JavaScript
178
+
179
+ // EJS2
180
+
181
+ (function(){
182
+
183
+ let count = 0;
184
+
185
+ $(document).on('keydown', () =>{
186
+
187
+ $(document).off('keydown');
188
+
189
+ count++;
190
+
191
+ $.ajax({
192
+
193
+ type:"GET",
194
+
195
+ url:"helo",
196
+
197
+ dataType:"html",
198
+
199
+ success:function(data){
200
+
201
+ $('body').html(data);
202
+
203
+ }
204
+
205
+ });
206
+
207
+ })();
208
+
209
+ ```
210
+
211
+ なお、このコードは、動くようにした(つもり)のものというだけなので、スクリプトの流し込みはそのままの想定になっており、良くないです。ご自分で考えて頂いて、<script>〜</script>要素をAjaxで流し込むのは止めましょう。