質問編集履歴

5

・file2.jsのコード追加修正

2021/03/19 00:49

投稿

proday
proday

スコア4

test CHANGED
File without changes
test CHANGED
@@ -74,19 +74,91 @@
74
74
 
75
75
  ```JavaScript
76
76
 
77
- var diary = {
77
+ async function savetest() {
78
78
 
79
- "id": diaryData.length,
80
79
 
81
- "aaa": $('input[name="aaa"]:checked').val(),
82
80
 
83
- "date": now,
81
+ var diaryData = [];
84
82
 
85
- "text": $('textarea[name="text"]').val(),
83
+ diaryData = JSON.parse(localStorage.getItem('diaryData' + year + mon));
86
84
 
85
+ var id = 0;
86
+
87
+ if (diaryData == null) { // まだデータがない場合
88
+
89
+
90
+
91
+ var diary = {
92
+
93
+ "id": 0,
94
+
95
+ "date": now,
96
+
97
+ "text": $('textarea[name="text"]').val(),
98
+
87
- "bbb": Dialogflow
99
+ "bbb": await Dialogflow
88
100
 
89
101
  }
102
+
103
+ localStorage.setItem('diaryData' + year + mon, JSON.stringify(diary));
104
+
105
+ id = 0;
106
+
107
+ } else if (!(Array.isArray(diaryData))) { // データ一件の時(配列じゃないとき)
108
+
109
+ var diary = {
110
+
111
+ "id": 1,
112
+
113
+ "date": now,
114
+
115
+ "text": $('textarea[name="text"]').val(),
116
+
117
+ "bbb": await Dialogflow
118
+
119
+ }
120
+
121
+ var Data = [];
122
+
123
+ Data[0] = diaryData;
124
+
125
+ // 配列に入れる
126
+
127
+ Data.push(diary);
128
+
129
+ id = 1;
130
+
131
+ // 配列をlocalStorageに保存
132
+
133
+ localStorage.setItem('diaryData' + year + mon, JSON.stringify(Data))
134
+
135
+ } else { //配列でデータが入っている場合(複数データがあるとき)
136
+
137
+ var diary = {
138
+
139
+ "id": diaryData.length,
140
+
141
+ "date": now,
142
+
143
+ "text": $('textarea[name="text"]').val(),
144
+
145
+ "bbb": await Dialogflow
146
+
147
+ }
148
+
149
+ // 配列の最後尾に投稿するデータを追加
150
+
151
+ diaryData.push(diary);
152
+
153
+ // 配列をlocalStorageに保存
154
+
155
+ localStorage.setItem('diaryData' + year + mon, JSON.stringify(diaryData));
156
+
157
+ id = diaryData.length - 1;
158
+
159
+ }
160
+
161
+ }
90
162
 
91
163
  ```
92
164
 

4

・目的追記

2021/03/19 00:49

投稿

proday
proday

スコア4

test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,8 @@
5
5
  HTMLとJavaScriptを使って、アプリ開発をしております。
6
6
 
7
7
  他のJSファイルから、letで指定した変数を呼び出す方法を教えてください。
8
+
9
+ ※file2.jsでDialogflow応答結果を呼び出そうとしております。
8
10
 
9
11
 
10
12
 

3

コードを追加

2021/03/18 08:19

投稿

proday
proday

スコア4

test CHANGED
File without changes
test CHANGED
@@ -27,6 +27,14 @@
27
27
  let Dialogflow // Dialogflowからの応答文言
28
28
 
29
29
  :(省略)
30
+
31
+ // Dialogflow応答
32
+
33
+ xhr = new XMLHttpRequest();
34
+
35
+ xhr.open('GET', dialogflowURL, true);
36
+
37
+
30
38
 
31
39
  // サーバからのデータ受信を行った際の動作
32
40
 

2

誤字修正

2021/03/18 08:17

投稿

proday
proday

スコア4

test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  ```HTML
16
16
 
17
- <script src="file1.js"><script>
17
+ <script src="file1.js"></script>
18
18
 
19
- <script src="file2.js"><script>
19
+ <script src="file2.js"></script>
20
20
 
21
21
  ```
22
22
 

1

・コードの追加

2021/03/18 08:03

投稿

proday
proday

スコア4

test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,38 @@
26
26
 
27
27
  let Dialogflow // Dialogflowからの応答文言
28
28
 
29
+ :(省略)
30
+
31
+ // サーバからのデータ受信を行った際の動作
32
+
33
+ xhr.onload = function (e) {
34
+
35
+ if (xhr.readyState === 4) {
36
+
37
+ if (xhr.status === 200) {
38
+
39
+     :(省略)
40
+
41
+ Dialogflow = anstext;
42
+
43
+ answer.innerHTML = "<p>" + anstext + "</p>"; // anstextに入っている返答部分を表示させています
44
+
45
+ }else if (IntentName.substr(6,2) == "AI")
46
+
47
+ {
48
+
49
+       :(省略)
50
+
51
+ }else
52
+
53
+ {
54
+
55
+ }
56
+
57
+ }
58
+
59
+ }
60
+
29
61
  ```
30
62
 
31
63
  ・file2.js