2017-10-21 29 views
1

toastrで複数の通知を表示しようとしていますが、最初のメッセージのみが表示されています。laravelで複数のトースト通知を表示する方法

return response()->json(array(
          'status'=>'warning', 
          'message'=> 'Invoiced could not sent!', 
          'status'=>'success', 
          'message'=> 'item successfully modified!' 
)); 

出力:

{状態: "成功" のメッセージ: "!予約が正常に変更されました" }

メッセージ:「予約が正常に変更されました!」

状況:「成功」

enter image description here

あなたはどのように上のスクリーンショットのように、複数のメッセージを表示するように私に言うことができるかどうか、私には理解されます。一部の通知には警告ステータスがあり、一部の通知ステータスには成功ステータスがある可能性があります。

答えて

0

この方法では、配列のstatusmessageのプロパティを上書きしています。

return response()->json(array(
    'messages' => array(
     array(
      'status'=>'warning', 
      'message'=> 'Invoiced could not sent!' 
     ), 
     array(
      'status'=>'success', 
      'message'=> 'item successfully modified!' 
     ) 
    ) 
)); 

その後、各要素を反復処理することができます。

はそのようなことのために、配列の配列を作成することを検討してください。

$.ajax({ 
    // Your current configuration 
}).done(function (response) { 
    for(var msg in response.messages) { 
     var status = response.messages[msg]['status']; 
     var message = response.messages[msg]['message']; 
     toastr[status](message); 
    } 
}); 
+0

返信いただきありがとうございます。残念ながら、私は空のエラー通知を取得します。私は括弧が問題を引き起こしていると思うが、私が得る括弧を削除すると、HTTPステータスコード "1"はvalid.errorではない。私が試すことができる別の方法はありますか? – Johnny

+0

PHPの古いバージョン – Lloople

+0

の回答を更新します。申し訳ありませんが、それはうまくいきませんでした。私は私の質問を更新しました。出力が追加されました。現在の配列がどのように見えるかを知ることができます。 – Johnny

関連する問題