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

回答編集履歴

3

セキュリティ上の考慮事項を追記

2020/05/04 11:13

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -22,4 +22,12 @@
22
22
  });
23
23
  server.listen(8080);
24
24
 
25
- ```
25
+ ```
26
+
27
+ なお、今回は、とりあえず動作させるために
28
+
29
+ ```
30
+ Access-Control-Allow-Origin: *
31
+ ```
32
+
33
+ としましたが、セキュリティを考慮するとドメインを指定した方が良いです。

2

クロスオリジン要求をがブロックされていたので修正案を提示

2020/05/04 11:13

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -1,3 +1,25 @@
1
1
  とりあえず、Firefox の開発者ツールのネットワークのタブで見ると通信はできてて応答は返ってきてます。
2
2
 
3
- ![イメージ説明](227fcbbf8c749031bd126c48a1557d81.png)
3
+ ![イメージ説明](227fcbbf8c749031bd126c48a1557d81.png)
4
+
5
+ その後、開発者ツールでコンソールを除くと以下のようなエラーが出ていました。
6
+
7
+ ```
8
+ クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、http://localhost:8080/ にあるリモートリソースの読み込みは拒否されます (理由: CORS ヘッダー ‘Access-Control-Allow-Origin’ が足りない)。
9
+ ```
10
+
11
+ サーバー側で Access-Control-Allow-Origin を出力するようにしてみたところ、動作しました。
12
+
13
+ ```javascript
14
+ var http = require('http');
15
+ var server = http.createServer();
16
+
17
+ server.on('request', function(req, res) {
18
+ res.statusCode = 200
19
+ res.setHeader('Content-Type', 'text/plain');
20
+ res.setHeader('Access-Control-Allow-Origin', '*');
21
+ res.end('Hello!');
22
+ });
23
+ server.listen(8080);
24
+
25
+ ```

1

スクリーンショットを追加。

2020/05/04 11:05

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -1,1 +1,3 @@
1
- とりあえず、Firefox の開発者ツールのネットワークのタブで見ると通信はできてて応答は返ってきてます。
1
+ とりあえず、Firefox の開発者ツールのネットワークのタブで見ると通信はできてて応答は返ってきてます。
2
+
3
+ ![イメージ説明](227fcbbf8c749031bd126c48a1557d81.png)