0
1

More than 3 years have passed since last update.

ajaxの処理 大変細かく書いたもの。

Posted at

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("通信に失敗しました");
    });
  });

申し訳ないくらいの走り書き

自分のメモ書きだから。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1