teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

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

2020/01/21 06:38

投稿

bellevue
bellevue

スコア16

title CHANGED
File without changes
body CHANGED
@@ -90,4 +90,10 @@
90
90
  1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。
91
91
 
92
92
  さらに追記します。
93
- 2回目のcopydata.jsonが反映されないので、キャッシュを読み込んでいるのかと疑い、キャッシュさせないようにするのと、ctrl+shift+rなどを試してみましたが、依然として最初のcopydata.jsonが反映されるようです。原因が違うのかもしれません。
93
+ 2回目のcopydata.jsonが反映されないので、キャッシュを読み込んでいるのかと疑い、キャッシュさせないようにするのと、ctrl+shift+rなどを試してみましたが、依然として最初のcopydata.jsonが反映されるようです。原因が違うのかもしれません。
94
+
95
+ さらに追記します。
96
+ xserverにもキャッシュ設定というものがあるということを発見したのですが、それもoffであることを確認しています。
97
+ 社内LANのサーバーにアクセスして実行するときちんと動きます。ブラウザをそのまま閉じることなく、別のタブにしてxserverにアクセスすると、とたんに動かなくなります。行ったり来たりしても、社内LANでは動き、xserverでは動きません。
98
+ 気にかけていただいた方、ありがとうございました。
99
+ 初心者なので、情報提供もこの程度しか出来ません。

2

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

2020/01/21 06:38

投稿

bellevue
bellevue

スコア16

title CHANGED
File without changes
body CHANGED
@@ -87,4 +87,7 @@
87
87
  });
88
88
  ```
89
89
  というものも試しています。
90
- 1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。
90
+ 1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。
91
+
92
+ さらに追記します。
93
+ 2回目のcopydata.jsonが反映されないので、キャッシュを読み込んでいるのかと疑い、キャッシュさせないようにするのと、ctrl+shift+rなどを試してみましたが、依然として最初のcopydata.jsonが反映されるようです。原因が違うのかもしれません。

1

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

2020/01/21 03:24

投稿

bellevue
bellevue

スコア16

title CHANGED
File without changes
body CHANGED
@@ -49,4 +49,42 @@
49
49
  document.getElementById(pre3id).value = json.CT_Email;
50
50
  });
51
51
  });
52
- ```
52
+ ```
53
+
54
+ 1月21日追記します。
55
+ 以下のようにコンソール出力をさせました。
56
+
57
+ ```javascript
58
+ fetch("./copydata.json")
59
+ .then(response => response.json())
60
+ .then(function (json) {
61
+ console.log(json);
62
+ document.getElementById(pre1id).value = json.CT_Code;
63
+ document.getElementById(pre2id).value = json.CT_Item;
64
+ document.getElementById(pre3id).value = json.CT_Email;
65
+ });
66
+ ```
67
+ すると、コンソールには、以下のように書き出されます。
68
+
69
+ Object { CT_Code: "00029302008", CT_Item: "xxxxxxxxxxxxxxxx", CT_Kikan: "", CT_Email: "" }
70
+
71
+ これで実は期待どおりに動くのです。
72
+ ですが、phpの方でcopydata.jsonが書き換えられても、2回目以降のjavascriptでは、新しいcopydata.jsonの内容が反映されず、最初のデータのままなのです。そして、2回目以降は、
73
+
74
+ Object { CT_Code: "00029302008", CT_Item: "xxxxxxxxxxxxxxxx", CT_Kikan: "", CT_Email: "" }
75
+ TypeError: document.getElementById(...) is null
76
+
77
+ となります。
78
+
79
+ ちなみに、
80
+ ```javascript
81
+ $.getJSON("copydata.json", function (data) {
82
+ //読み込んだdataに対する処理
83
+ console.log(data);
84
+ document.getElementById(pre1id).value = data.CT_Code;
85
+ document.getElementById(pre2id).value = data.CT_Item;
86
+ document.getElementById(pre3id).value = data.CT_Email;
87
+ });
88
+ ```
89
+ というものも試しています。
90
+ 1回目のcopydata.jsonのデータが反映され、エラーメッセージも全く同じ結果になります。