ajaxの中身
練習の時
画面上でタスクの「表示」ボタンを押すと
タスクタイトルとタスクの内容が表示される
という仕組みのものを作りました。
その時のメモ書きです。
(あとでまとめる)
laravel ver5.8 + jQuery
jQueryのコードです。
// ボタンを押すとjsが起動する
$('.js_show_info').on('click',function(){
// タスクのIDを取得する(jsで使う変数に、viewでinputのvalueに入っているIDをいれる)
task_id = $(this).val();
console.log(task_id);
$.ajax({
type: "get", // HTTP通信の種類を指定。デフォルトでここはgetが入っている部分なので、get通信なら書かなくても大丈夫
url: "tasks/info", // web.phpで作成したコントローラーにアクセスするルートのURL部分。コントローラー内に作成したfunctionにアクセスしたい。
dataType: "json", //サーバーから返されるデータの型を指定。
data: { //サーバーに送るフォームデータを作成
task_id: task_id
},
// ajax通信でサーバー側に送って、サーバーでデータをうまいこと処理して無事に返ってきたらdoneの中の処理に進む
}).done(function(dataJson,status,xhr){
// 今回はdataTypeですでにjsonを指定しているので以下のコードは使わない。
// JSON.parse() = 文字列を JSON として解析し、文字列によって記述されている JavaScript の値やオブジェクトを構築するメソッド
// 今回はサーバーから返ってくるときに(=レスポンス)中身はJSON形式になっているから上のメソッドを使わなくても大丈夫。
// var data = JSON.parse(dataJson);
$str = "タスクタイトル:" + dataJson.title + "\n" +
"タスクの内容:" + dataJson.category;
alert($str);
// 処理が何らかの原因でうまく行かず(サーバー側が悪い、もしくはjs側が悪い場合)、だめだった場合にはしる処理を書く
}).fail(function (jqXHR, textStatus, errorThrown){
alert("通信に失敗しました");
});
});
申し訳ないくらいの走り書き
自分のメモ書きだから。