回答編集履歴

3

追記その2

2019/10/11 00:43

投稿

退会済みユーザー
test CHANGED
@@ -7,6 +7,10 @@
7
7
 
8
8
 
9
9
  **【追記】**
10
+
11
+
12
+
13
+ **注:以下は普通の web サーバー(具体的には Windows 10 Pro の IIS10)を使って、それにサイトを設定し、その中に index.html, data.json, index.js を配置した場合です。質問者さんは Flask を使ってその開発サーバーで実行しているとのことで、Flask 開発サーバーの制約で data.json, index.js を置くフォルダは static にする必要があるとのことです。(下の記事のように index.html, data.json を同一フォルダに置くのは NG のようです)**
10
14
 
11
15
 
12
16
 

2

追記

2019/10/11 00:43

投稿

退会済みユーザー
test CHANGED
@@ -3,3 +3,103 @@
3
3
 
4
4
 
5
5
  試しに、data.json ファイルを index.html ファイルがあるフォルダにコピーしたらどうなりますか?
6
+
7
+
8
+
9
+ **【追記】**
10
+
11
+
12
+
13
+ 下の 2019/10/10 23:28 の私のコメントで「あとで回答欄に詳しい話を書いておきます」と書きましたが、それを以下に追記します。
14
+
15
+
16
+
17
+ templates フォルダの中に index.html と data.json を配置します。index.js は Script フォルダに入れておきます。以下の画像を見てください。
18
+
19
+
20
+
21
+ ![イメージ説明](f1be97552cdb87de57aacd4d425b21a2.jpeg)
22
+
23
+
24
+
25
+ index.html は jQuery ajax で取得した JSON データを表示するために```<div id="result"></div>```を追加した以外は質問者さんのコードと同じです。
26
+
27
+
28
+
29
+ **index.html**
30
+
31
+
32
+
33
+ ```
34
+
35
+ <!DOCTYPE html>
36
+
37
+ <html lang="ja">
38
+
39
+ <head>
40
+
41
+ <meta charset="UTF-8">
42
+
43
+ <title>experience</title>
44
+
45
+ </head>
46
+
47
+ <body>
48
+
49
+ <div id="result"></div>
50
+
51
+
52
+
53
+ <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
54
+
55
+ <script src="../Scripts/index.js"></script>
56
+
57
+ </body>
58
+
59
+ </html>
60
+
61
+ ```
62
+
63
+
64
+
65
+ 質問者さんの index.js のコードは、上の index.html の```<div id="result"></div>```に JSON データを表示できるように done のコールバックを以下のように変更しました。 url: 'data.json' は変えてません。
66
+
67
+
68
+
69
+ **index.js**
70
+
71
+
72
+
73
+ ```
74
+
75
+ $.ajax({ url: 'data.json', dataType: 'json' })
76
+
77
+ .done(function (data) {
78
+
79
+ $.each(data, function (index, d) {
80
+
81
+ $('#result').append(
82
+
83
+ '<p>id: ' + d.id + ', crowded: ' + d.crowded + '</p>'
84
+
85
+ );
86
+
87
+ });
88
+
89
+ })
90
+
91
+ .fail(function () {
92
+
93
+ window.alert('error');
94
+
95
+ });
96
+
97
+ ```
98
+
99
+
100
+
101
+ index.html の実行結果は以下の通りとなり、期待通り JSON データが表示されます。もちろん 404 エラーなどは出ません。
102
+
103
+
104
+
105
+ ![イメージ説明](347f3d5d6986e274936bcbcb28524cc7.jpeg)

1

訂正

2019/10/10 14:48

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- $.ajax の url の指定が間違っていて、サーバー側で data.json が見つからないのが 404 エラーの原因で、結果 A が undefind になっているのではないかと思います。
1
+ $.ajax の url の指定が間違っていて、サーバー側で data.json が見つからないのが 404 エラーの原因で、結果 A が undefined になっているのではないかと思います。
2
2
 
3
3
 
4
4