やりたいこと
現在、ポートフォリをとして単語帳共有アプリをlaravelで作成しています。
単語帳演習(solve.blade.php)のvueコンポネートからリザルト(result.blade.php)にajaxでデータを渡し遷移させたいです。エラーなどは表示されておらず。resultのviewまでデータを渡すせている部分まで確認済みです。残りは、resultの画面に遷移させたいのですが、どこに何を記述したら良いのかわからなくなってしまいました。(あまり参考サイトがない)
わかりづらい説明で申し訳ありませんがわかる方いましたら教えたください。
ajax送信するvueコンポーネント
vue
1$.ajax({ 2 headers: { 3 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 4 }, 5 type: 'POST', 6 url: '/articles/result/' + this.id + '/' + this.isEnglishToJapanese, 7 addType: 'json', 8 data: { 9 id: this.id, 10 numberOfQuestions: this.numberOfQuestions, 11 wordList: JSON.stringify(this.wordList), 12 corrects: JSON.stringify(this.corrects), 13 }, 14 async: false, 15 cache: false, 16 success: function(result){ 17 console.debug("result" + result); 18 }, 19 error: function(jqxhr, status, exception) { 20 console.debug('jqxhr', jqxhr); 21 console.debug('status', status); 22 console.debug('exception', exception); 23 } 24 }).done(function (results) { 25 alert('done!'); 26 }).fail(function (jqXHR, textStatus, errorThrown) { 27 alert('eroor!'); 28 console.log(jqXHR); 29 console.log(textStatus); 30 console.log(errorThrown); 31 });
web.php
php
1Route::post('/articles/result/{article}/{isEnglishToJapanese}', 'ArticleController@result')->name('articles.result');
コントローラー
php
1public function result(Request $request) 2 { 3 $id = filter_input(INPUT_POST,"id"); 4 $numberOfQuestions = filter_input(INPUT_POST,"numberOfQuestions"); 5 $corrects = filter_input(INPUT_POST,"corrects"); 6 $corrects = json_decode($corrects); 7 $wordList = filter_input(INPUT_POST,"wordList"); 8 $wordList = json_decode($wordList); 9 return view('articles.result',[ 10 'id' => $id, 11 'numberOfQuestions' => $numberOfQuestions, 12 'corrects' => $corrects, 13 'wordList' => $wordList, 14 'isEnglishToJapanese' => $request->isEnglishToJapanese, 15 ]); 16 } 17
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/20 05:43