質問編集履歴

1

修正

2020/11/04 02:30

投稿

MH00214
MH00214

スコア53

test CHANGED
File without changes
test CHANGED
@@ -1,107 +1 @@
1
- ## 解決したいこと
2
-
3
- * お問い合わせフォームの見た目をVue.jsで作っており、最後のPOST送信ができなくて困っています。送信できるようにしたいです。
4
-
5
-
6
-
7
- ## 現在のコードと状況
8
-
9
- * Rails側のAPIは題なく動作していそう(PostmanでローカルでもQA環境でも確認済)
1
+ 一部不具合を含んだコードや誤った記述があったため、質を削除ました。再度調べ直し投稿します。
10
-
11
- ![イメージ説明](42e7080ae193024ffa5ef6e4ef36d3ab.png)
12
-
13
- * Vue.jsの他の箇所においては問題なく動いていた
14
-
15
- * axiosでgetができているかを確認したところ、それは問題なくできていた
16
-
17
-
18
-
19
-
20
-
21
- **コード(該当の箇所)**
22
-
23
- ```
24
-
25
- // isFilledForはフォームが全て埋められているかのチェックを行っていて、これについては正常に動いている)
26
-
27
- if (isFilledForm) {
28
-
29
- const formPostData = {
30
-
31
- name : this.formLists.name.inputValue,
32
-
33
- telnumber : this.formLists.tel.inputValue,
34
-
35
- email : this.formLists.email.inputValue,
36
-
37
- company_name : this.formLists.companyName.inputValue,
38
-
39
- company_type : this.formLists.companyType.inputValue,
40
-
41
- }
42
-
43
- console.log(formPostData) // 確認用(これはきちんと表示されている)
44
-
45
- axios.post('/api/v1/request_docs', formPostData)
46
-
47
- .then(function(response) {
48
-
49
- console.log('ok') // 確認用
50
-
51
- console.log(response) // 確認用
52
-
53
- this.isComplete = true // isCompleteは問い合わせ完了時にモーダルを出すためのもの。これもaxios導入前まではきちんと動いていた
54
-
55
- })
56
-
57
- .catch(function(error) {
58
-
59
- console.log('error') // 確認用
60
-
61
- return error.response
62
-
63
- })
64
-
65
- }
66
-
67
- ```
68
-
69
-
70
-
71
- ## エラーメッセージ
72
-
73
- * フォームを全て埋めて送信ボタンをクリックすると
74
-
75
- `spread.js:25 POST http://localhost:3000/api/v1/request_docs 500 (Internal Server Error)`
76
-
77
- となってしまい、送信ができません。
78
-
79
-
80
-
81
- ## 原因だと思っている箇所
82
-
83
- * POSTの送信の方法が間違っており、そもそも送信できていない
84
-
85
- ```
86
-
87
- axios.post('/api/v1/request_docs', formPostData)
88
-
89
- .then(function(response) {
90
-
91
- console.log('ok')
92
-
93
- console.log(response) // 確認用
94
-
95
- this.isComplete = true // isCompleteは問い合わせ完了時にモーダルを出すためのもの。これもaxios導入前まではきちんと動いていた
96
-
97
- })
98
-
99
- ```
100
-
101
-
102
-
103
- * RailsのAPI送信時に、最後の`company_type`は選択肢の文字列ではなく、それを英単語に変換したもので送られるので、そこの値が変換されていない
104
-
105
- 例)フォームの選択肢に「広告主」というものがあるが、それを選択肢した時にthis.formLists.companyType.inputValueに入ってくるのは"広告主"という文字列。
106
-
107
- POST送信が成功するためには、そこがadvertiserとなっている必要があるので、それができていないのかも?と思った。