回答編集履歴

5

a

2018/04/25 12:44

投稿

HayatoKamono
HayatoKamono

スコア2415

test CHANGED
@@ -1,3 +1,21 @@
1
+ # 回答の前提
2
+
3
+
4
+
5
+ 修正依頼欄でもお伝えした通り、今回のようなケースではそもそも、`ajax`通信を行う必要はないかと思います。
6
+
7
+
8
+
9
+ その上で以下の回答は部分的に参考にして頂ければと思います。
10
+
11
+
12
+
13
+ また、以下のコードは質問文のコードをベースにしたコードにはなっていません。
14
+
15
+
16
+
17
+
18
+
1
19
  # クライアントサイド
2
20
 
3
21
 
@@ -74,7 +92,13 @@
74
92
 
75
93
 
76
94
 
95
+ こちらのコードでは`jsonplaceholder.typicode.com`というデモのAPIを公開してくれているサイトに`post`リクエストを送って、`post`が成功して結果が返ってきたら、他のページへ遷移させるというコードになります。
96
+
97
+
98
+
77
- Ajaxリクエストが成功し時に、他の`url`に遷移させ場合は`location.href`の値を変してください。
99
+ 冒頭に記載したとおり、`ajax`でリクエストを投げて、結果返ってき他のurlを表示させるとうこと自体が一般的にあまり行われないので、単純にここでは、`location.href`の値を変えると、他のページをブラウザーがロードしてくれるのということだけを読み取って参考にして下さい。
100
+
101
+
78
102
 
79
103
 
80
104
 
@@ -100,14 +124,6 @@
100
124
 
101
125
 
102
126
 
127
+ 一般的にはajax通信でサーバー側からクライアント側に返すデータ形式はjson`形式であることが多いかと思います。
103
128
 
104
-
105
- `res.render()`を使うのではなく、`res.send()`に`object{}`か`array[]`を渡して、クライアント側に`json`データを返すようにしてください。
129
+ `res.send()`に`object{}`か`array[]`を渡して、クライアント側に`json`データを返すようにしてください。
106
-
107
-
108
-
109
- # 補足
110
-
111
-
112
-
113
- 修正依頼欄でもお伝えした通り、今回のようなケースでは`ajax`通信を行う必要はないかと思います。

4

a

2018/04/25 12:44

投稿

HayatoKamono
HayatoKamono

スコア2415

test CHANGED
@@ -36,7 +36,9 @@
36
36
 
37
37
  data: JSON.stringify({ title: 'foo', body: 'bar', userId: 1 }),
38
38
 
39
- dataType: 'json'
39
+ dataType: 'json',
40
+
41
+ contentType: 'application/json'
40
42
 
41
43
  })
42
44
 

3

a

2018/04/25 08:35

投稿

HayatoKamono
HayatoKamono

スコア2415

test CHANGED
@@ -101,3 +101,11 @@
101
101
 
102
102
 
103
103
  `res.render()`を使うのではなく、`res.send()`に`object{}`か`array[]`を渡して、クライアント側に`json`データを返すようにしてください。
104
+
105
+
106
+
107
+ # 補足
108
+
109
+
110
+
111
+ 修正依頼欄でもお伝えした通り、今回のようなケースでは`ajax`通信を行う必要はないかと思います。

2

a

2018/04/25 08:23

投稿

HayatoKamono
HayatoKamono

スコア2415

test CHANGED
@@ -73,3 +73,31 @@
73
73
 
74
74
 
75
75
  Ajaxリクエストが成功した時に、他の`url`に遷移させたい場合は`location.href`の値を変更してください。
76
+
77
+
78
+
79
+ # サーバーサイド
80
+
81
+
82
+
83
+ > When the parameter is an Array or Object, Express responds with the JSON
84
+
85
+ representation:
86
+
87
+
88
+
89
+ [https://expressjs.com/en/4x/api.html#res](https://expressjs.com/en/4x/api.html#res)
90
+
91
+
92
+
93
+ ```
94
+
95
+ res.send({ user: 'tobi' });
96
+
97
+ ```
98
+
99
+
100
+
101
+
102
+
103
+ `res.render()`を使うのではなく、`res.send()`に`object{}`か`array[]`を渡して、クライアント側に`json`データを返すようにしてください。

1

a

2018/04/25 08:20

投稿

HayatoKamono
HayatoKamono

スコア2415

test CHANGED
@@ -1,3 +1,7 @@
1
+ # クライアントサイド
2
+
3
+
4
+
1
5
  ```
2
6
 
3
7
  <button id='submitButton'>Submit</button>
@@ -65,3 +69,7 @@
65
69
 
66
70
 
67
71
  [https://codepen.io/anon/pen/Vxjjwb](https://codepen.io/anon/pen/Vxjjwb)
72
+
73
+
74
+
75
+ Ajaxリクエストが成功した時に、他の`url`に遷移させたい場合は`location.href`の値を変更してください。