前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Laravel + Vue.jsを利用してお問い合わせページを作成しています。
サブミットボタンクリック時にVue.jsがLaravelのバリデーションAPIを呼び出しして、
エラーがない場合は、次の画面に遷移させたいです。
しかし、Vue.jsにて次の画面に遷移させる記述を行う必要があると思うのですが、記述方法が上手くいかず困っています。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Vue.js
1methods: { 2 doSubmit: function (e) { 3 let item = {}; 4 Object.entries(this.$data).map(function (data) { 5 item[data[0]] = data[1]; 6 }); 7 let param = {data: item}; 8 let count_data = this.checkData(); 9 let that = this; 10 axios({ 11 method: "post", 12 url: "api/allvalidate/check", 13 data: param 14 }) 15 .then(function (res) { 16 }) 17 .catch(function (e) { 18 that.$set(that, 'errors', e.response.data.errors); 19 }) 20 e.preventDefault(); 21 }, 22}
VIEW(Laravel)
1{{ form_open({'id':'inputForm','method':'POST','url':'/confirm'}) }} 2 <section class="Content"> 3 <div class="Form" id="app"> 4 5 <label for="f-submit"> 6 <button id="f-submit" class="btn btn--cta" name="f-submit" @click="doSubmit" type="submit">送信</button> 7 </label> 8 9 </div> 10 </section> 11 {{ form_close() }}
試したこと
axiosの.thenに「return true」を記載しましたが、遷移してくれません。
Vue.js
1methods: { 2 doSubmit: function (e) { 3 let item = {}; 4 Object.entries(this.$data).map(function (data) { 5 item[data[0]] = data[1]; 6 }); 7 let param = {data: item}; 8 let count_data = this.checkData(); 9 let that = this; 10 axios({ 11 method: "post", 12 url: "api/allvalidate/check", 13 data: param 14 }) 15 .then(function (res) { 16 return true; 17 }) 18 .catch(function (e) { 19 that.$set(that, 'errors', e.response.data.errors); 20 }) 21 e.preventDefault(); 22 }, 23}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/29 01:47
2019/05/29 04:02
2019/05/29 04:55 編集
2019/05/29 09:08 編集