PHPでポータルサイトを作っています。
投稿データの送信をAjaxで行なっているのですが、
どのリクエストデータでエラーが出たのかを取得したいです。
ちなみに下記のの方法では取得できませんでした。(タグCが異常値のためpostTagsの所でエラーを出したい)
解決策を教えてください。
PHP
1public function store(Request $request) { 2 $data = array(); 3 4 try { 5 //リクエストデータをバリデーション 6 $request->validate([ 7 'user_id' => 'integer|required', 8 'content_text' => 'string|required|max:1000', 9 'category' => 'string|required|max:50', 10 'post_tags.*' => 'string|required|max:20' 11 ]); 12 //DB保存処理 13 catch($e) { 14 // HTTPステータス:500 エラー 15 $data = ['message' => '投稿できませんでした']; 16 return response()->json($data, \Illuminate\Http\Response::HTTP_INTERNAL_SERVER_ERROR); 17 } 18}
JavaScript
1$(function() { 2 $('#post').on('click', function() { 3 var userId = 4;//ユーザーID 4 var contentText = "テスト投稿";//コンテンツのテキスト 5 var category = "type-a";//カテゴリー 6 var postTags = ["タグA", "タグB", "タグCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"];//投稿用タグ 7 8 //Ajax投稿(POST) 9 $.ajax({ 10 url: "/contents", 11 type: 'POST', 12 data: {'user_id' : userId, 'content_text' : contentText, 'category' : category, 'post_tags' : postTags} 13 }).done(function(data) { 14 console.log(JSON.stringify(data, null , "\t")); 15 alert("成功"); 16 }).fail(function(data) { 17 console.log(JSON.stringify(data, null , "\t")); 18 alert('エラー'); 19 }); 20 }); 21});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。