回答編集履歴

1

XMLHttpRequestのコード追記

2016/04/14 14:21

投稿

think49
think49

スコア18162

test CHANGED
@@ -1,4 +1,128 @@
1
- どこまで理解していてどの辺りで詰まっているのが不明ですが、`XMLHttpRequest` で JSON を入手後、JSON は `JSON.parse` で展開可能です
1
+ どこまで理解していてどの辺りで詰まっているのが不明ですが、`XMLHttpRequest` で JSON を取得してください
2
+
3
+
4
+
5
+ ```JavaScript
6
+
7
+ 'use strict';
8
+
9
+ (function () {
10
+
11
+ function handleReadystatechange (event) { // XMLHttpRequest Level 1
12
+
13
+ var xhr = event.target, object;
14
+
15
+
16
+
17
+ if (xhr.readyState === 4 && xhr.status === 200) {
18
+
19
+ object = JSON.parse(xhr.responseText);
20
+
21
+ console.dir(object);
22
+
23
+ }
24
+
25
+ }
26
+
27
+
28
+
29
+ function createHandler (_handle, xhr) {
30
+
31
+ return handle (event) {
32
+
33
+ if (event) {
34
+
35
+ event.target = xhr;
36
+
37
+ } else {
38
+
39
+ event = {target: xhr};
40
+
41
+ }
42
+
43
+
44
+
45
+ _handle.call(xhr, event);
46
+
47
+ };
48
+
49
+ }
50
+
51
+
52
+
53
+ function handleLoad (event) { // XMLHttpRequest Level 2
54
+
55
+ var xhr = event.target, object;
56
+
57
+
58
+
59
+ if (xhr.status === 200) {
60
+
61
+ object = JSON.parse(xhr.responseText);
62
+
63
+ console.dir(object);
64
+
65
+ }
66
+
67
+ }
68
+
69
+
70
+
71
+ function main () {
72
+
73
+ var xhr = new XMLHttpRequest(); // for IE7+
74
+
75
+
76
+
77
+ xhr.open('GET', 'data.json', true);
78
+
79
+
80
+
81
+ if (typeof xhr.addEventListener === 'function') {
82
+
83
+ if ('onload' in xhr) {
84
+
85
+ xhr.addEventListener('load', handleLoad, false);
86
+
87
+ } else if ('onreadystatechange' in xhr) {
88
+
89
+ xhr.addEventListener('readystatechange', handleReadystatechange, false);
90
+
91
+ }
92
+
93
+ } else if (typeof xhr.attachEvent === 'function' || typeof xhr.attachEvent === 'object') { // for IE8-
94
+
95
+ if ('onload' in xhr) {
96
+
97
+ xhr.attachEvent('onload', createHandler(handleLoad, xhr));
98
+
99
+ } else if ('onreadystatechange' in xhr) {
100
+
101
+ xhr.attachEvent('onreadystatechange', createHandler(handleReadystatechange, xhr));
102
+
103
+ }
104
+
105
+
106
+
107
+ }
108
+
109
+
110
+
111
+ xhr.send(null);
112
+
113
+ }
114
+
115
+
116
+
117
+ main();
118
+
119
+ }());
120
+
121
+ ```
122
+
123
+
124
+
125
+ JSON は `JSON.parse` で展開可能です。
2
126
 
3
127
 
4
128