前提
10問の問題のテストが多数存在するアプリです。
Ajaxは超初心者です。
Larevelは理解していると思います。
実現したいこと
例えば、テスト番号20番のテストの、第一問の解答だけを見たいときに、クリックしたら、そこに解答を表示する様にしたいです。
発生している問題・エラーメッセージ
クリックするとNULLになります。
localhost/ja1/{id}にアクセスすると["\u6708\u66dc\u65e5"]のような表示ですが、デバッグすると解答がキチンと表示されます。
コントローラからjsonへのデータの渡し方を理解していません。色々調べたのですが、見つけることが出来ませんでした。
どなたかご教授いただけたらと思います。よろしくお願いいたします。
該当のソースコード
php
1Route::get('ja1/{id}',[App\Http\Controllers\StudyController::class,'one'])->name('one'); 2
php
1class StudyController extends Controller 2 3 public function one( $id) 4 { 5 $word = Word::where('id', $id)->value('ja1'); 6 return response()->json([ 7 $word 8 ]); 9 }
php
1view 2 <script> 3 $(function(){ 4 $('#button1').click( 5 function(){ 6 $.ajax({ 7 type:'GET', 8 url:'ja1/[$id]', 9 dataType: 'text', //json形式で受け取る 10 }).done(function(results) { 11 $('#text1').html(results); 12 }).fail(function(err) { 13 alert('ファイルの取得に失敗しました。'); 14 }); 15 } 16 ); 17 }); 18 </script>
試したこと
以上のコードはこちらのサイトを参考に作りました。
https://laraweb.net/surrounding/4217/
https://harumakiii.com/archives/430
うまくいかなかったので、以下のサイトでやってみましたが、こちらでは500エラーになったので、上記のサイトのみで作りました。
https://makitweb.com/fetch-records-from-mysql-with-jquery-ajax-laravel/#route
補足情報(FW/ツールのバージョンなど)
Laravel8

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/13 04:36
2022/12/13 04:43
2022/12/13 05:28