質問: $request->input('comment_id'); /* comment_id が自分自身のコメントでないことを確認 データベース更新処理 $name : 新たな Font Awesomeのクラス名(far, fas) $cnt : 「いいね」総数 */ if(($name==='far' || $name==='fas') && is_int($cnt) && $cnt >= 0) { return json_encode(["name" => $name, "cnt" => $cnt]); } //正常でない場合でもJSON形式で返す return json_encode(['name' => 'error', 'cnt' => -1]); ``` CSRF対策 ``` $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); ``` とりあえず動くように実装したので、雑なやり方だと思います。 質問をまとめると * 時々空文字を返してエラーになるのを防ぐにはどうすべきか。 * セキュリティ的に問題はないか。 (クラス名の動的生成、カスタムデータによるid判別、AjaxでPOSTする値の偽装対策等) その他「そのやり方はよくない」等あればご指摘ください。 ご回答よろしくお願いします。
回答: > > 時々空文字を返してエラーになるのを防ぐにはどうすべきか。 > > > * 空文字になる原因を特定する * エラーをただ防ぐ ``` if ( !data ) return; let d = JSON.parse(data); ```