質問編集履歴

3

xserverのキャッシュ設定を見てみましたがoffでした。

2020/01/21 06:38

投稿

bellevue
bellevue

スコア16

test CHANGED
File without changes
test CHANGED
@@ -183,3 +183,15 @@
183
183
  さらに追記します。
184
184
 
185
185
  2回目のcopydata.jsonが反映されないので、キャッシュを読み込んでいるのかと疑い、キャッシュさせないようにするのと、ctrl+shift+rなどを試してみましたが、依然として最初のcopydata.jsonが反映されるようです。原因が違うのかもしれません。
186
+
187
+
188
+
189
+ さらに追記します。
190
+
191
+ xserverにもキャッシュ設定というものがあるということを発見したのですが、それもoffであることを確認しています。
192
+
193
+ 社内LANのサーバーにアクセスして実行するときちんと動きます。ブラウザをそのまま閉じることなく、別のタブにしてxserverにアクセスすると、とたんに動かなくなります。行ったり来たりしても、社内LANでは動き、xserverでは動きません。
194
+
195
+ 気にかけていただいた方、ありがとうございました。
196
+
197
+ 初心者なので、情報提供もこの程度しか出来ません。

2

キャッシュを疑うも、強制リロードしても変化はありませんでした。

2020/01/21 06:38

投稿

bellevue
bellevue

スコア16

test CHANGED
File without changes
test CHANGED
@@ -177,3 +177,9 @@
177
177
  というものも試しています。
178
178
 
179
179
  1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。
180
+
181
+
182
+
183
+ さらに追記します。
184
+
185
+ 2回目のcopydata.jsonが反映されないので、キャッシュを読み込んでいるのかと疑い、キャッシュさせないようにするのと、ctrl+shift+rなどを試してみましたが、依然として最初のcopydata.jsonが反映されるようです。原因が違うのかもしれません。

1

コンソール出力を追記しました。1回目は大丈夫なのですが、2回目以降に動かないことを追記しました。

2020/01/21 03:24

投稿

bellevue
bellevue

スコア16

test CHANGED
File without changes
test CHANGED
@@ -101,3 +101,79 @@
101
101
  });
102
102
 
103
103
  ```
104
+
105
+
106
+
107
+ 1月21日追記します。
108
+
109
+ 以下のようにコンソール出力をさせました。
110
+
111
+
112
+
113
+ ```javascript
114
+
115
+ fetch("./copydata.json")
116
+
117
+ .then(response => response.json())
118
+
119
+ .then(function (json) {
120
+
121
+ console.log(json);
122
+
123
+ document.getElementById(pre1id).value = json.CT_Code;
124
+
125
+ document.getElementById(pre2id).value = json.CT_Item;
126
+
127
+ document.getElementById(pre3id).value = json.CT_Email;
128
+
129
+ });
130
+
131
+ ```
132
+
133
+ すると、コンソールには、以下のように書き出されます。
134
+
135
+
136
+
137
+ Object { CT_Code: "00029302008", CT_Item: "xxxxxxxxxxxxxxxx", CT_Kikan: "", CT_Email: "" }
138
+
139
+
140
+
141
+ これで実は期待どおりに動くのです。
142
+
143
+ ですが、phpの方でcopydata.jsonが書き換えられても、2回目以降のjavascriptでは、新しいcopydata.jsonの内容が反映されず、最初のデータのままなのです。そして、2回目以降は、
144
+
145
+
146
+
147
+ Object { CT_Code: "00029302008", CT_Item: "xxxxxxxxxxxxxxxx", CT_Kikan: "", CT_Email: "" }
148
+
149
+ TypeError: document.getElementById(...) is null
150
+
151
+
152
+
153
+ となります。
154
+
155
+
156
+
157
+ ちなみに、
158
+
159
+ ```javascript
160
+
161
+ $.getJSON("copydata.json", function (data) {
162
+
163
+ //読み込んだdataに対する処理
164
+
165
+ console.log(data);
166
+
167
+ document.getElementById(pre1id).value = data.CT_Code;
168
+
169
+ document.getElementById(pre2id).value = data.CT_Item;
170
+
171
+ document.getElementById(pre3id).value = data.CT_Email;
172
+
173
+ });
174
+
175
+ ```
176
+
177
+ というものも試しています。
178
+
179
+ 1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。