質問編集履歴

5

修正

2019/10/29 09:37

投稿

H40831
H40831

スコア975

test CHANGED
File without changes
test CHANGED
@@ -116,23 +116,23 @@
116
116
 
117
117
  let apiTest = ()=>{
118
118
 
119
- fetch( 'test.php?hoge="hoge"', {
119
+ fetch( 'test.php?hoge="hoge"', {
120
120
 
121
- method: 'GET',
121
+ method: 'GET',
122
122
 
123
- headers: {
123
+ headers: {
124
124
 
125
- "Content-type" : "application/json;charset=UTF-8",
125
+ "Content-type" : "application/json;charset=UTF-8",
126
126
 
127
- },
127
+ },
128
128
 
129
- })
129
+ })
130
130
 
131
- .then( res => { return res.json(); } )
131
+ .then( res => { return res.json(); } )
132
132
 
133
- .then( jsonRes => { console.log( jsonRes ); } )
133
+ .then( jsonRes => { console.log( jsonRes ); } )
134
134
 
135
- .catch( err => { console.error( err ); } )
135
+ .catch( err => { console.error( err ); } )
136
136
 
137
137
  };
138
138
 

4

試したこと追記

2019/10/29 09:37

投稿

H40831
H40831

スコア975

test CHANGED
File without changes
test CHANGED
@@ -99,3 +99,65 @@
99
99
  JavaScriptから送ってるデータは連想配列、つまりオブジェクト型なので、
100
100
 
101
101
  配列型だと解釈されているならPHPの方になにか原因がある気がするのですが、そこから先がわかりません。
102
+
103
+
104
+
105
+ ## 試したこと
106
+
107
+ コメントいただいた内容を試してみます。(随時追記)
108
+
109
+
110
+
111
+ #### GET方式にしてみる
112
+
113
+
114
+
115
+ ```JavaScript
116
+
117
+ let apiTest = ()=>{
118
+
119
+ fetch( 'test.php?hoge="hoge"', {
120
+
121
+ method: 'GET',
122
+
123
+ headers: {
124
+
125
+ "Content-type" : "application/json;charset=UTF-8",
126
+
127
+ },
128
+
129
+ })
130
+
131
+ .then( res => { return res.json(); } )
132
+
133
+ .then( jsonRes => { console.log( jsonRes ); } )
134
+
135
+ .catch( err => { console.error( err ); } )
136
+
137
+ };
138
+
139
+ ```
140
+
141
+ **結果:**`[Array(0)]`
142
+
143
+
144
+
145
+ #### $_POST ではなく php://input で取得してみる
146
+
147
+ ```PHP
148
+
149
+ <?php
150
+
151
+ header('Content-type: application/json');
152
+
153
+ #postdata = file_get_contents("php://input");
154
+
155
+ echo json_encode([
156
+
157
+ $postdata
158
+
159
+ ]);
160
+
161
+ ```
162
+
163
+ **結果:**`["[object Object]"]` ????!?

3

追記

2019/10/29 09:32

投稿

H40831
H40831

スコア975

test CHANGED
File without changes
test CHANGED
@@ -90,6 +90,8 @@
90
90
 
91
91
  ## 備考
92
92
 
93
+ ソースは全てEC2の`/var/www/html`に置いてあります。
94
+
93
95
  今のやり方ではPOSTの値が空の配列になっているようです。
94
96
 
95
97
  レスポンスデータを`$_POST`から文字列に変更してみると、JavaScriptのコンソールで正しく表示されます。

2

修正

2019/10/29 08:47

投稿

H40831
H40831

スコア975

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  WEBサーバー構築、PHP、Ajaxの勉強のため、
2
2
 
3
- AWS EC2上にWEBサーバーを構築して、リアルタイムチャットを作成しようとしています。
3
+ AWS EC2上にリアルタイムチャットを作成しようとしています。
4
4
 
5
5
 
6
6
 

1

修正

2019/10/29 08:40

投稿

H40831
H40831

スコア975

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- Ajaxの勉強のため、AWS EC2上にWEBサーバーを構築して、
1
+ WEBサーバー構築、PHP、Ajaxの勉強のため、
2
2
 
3
- リアルタイムチャットを作成しようとしています。
3
+ AWS EC2上にWEBサーバーを構築して、リアルタイムチャットを作成しようとしています。
4
4
 
5
5
 
6
6