Showing kartik growl via ajax in yii2

时间秒杀一切 提交于 2020-01-24 09:05:28

问题


Am using kartik growl and i would like to show the growl via ajax success

I have tried

This is the javascript code:

$.post({
  url: "forwardpr", // your controller action
  dataType: 'json',
  data: {keylist: keys,user:userdata},
  success: function(data) {
      console.log(data);
    //$.pjax.reload({container:'#forward-grid'});
    $.growl( data.growl );
  },
  error: function(err){
  alert(err);
  console.log("server error");
  }
});

This is the controller code:

$growl = [
  'title' => "Group members updated.<hr>",
  'icon' => 'glyphicon glyphicon-ok-sign',
  'message' => "Successifully updated.",
  'showSeparator' => true,
];

echo json_encode(['response'=>"Successifully forwarded pr(s)", 'growl' => $growl ]);

回答1:


If you see TypeError: $.growl is not a function, then it means you have not included required files to AppAsset.php file.

To solve this problem, go to assets/AppAsset.php file and add:

public $css = [
        // ... Something else might be here
        'css/jquery.growl.css',
    ];

And

public $js = [
        // Something else might be here
        'js/core.js',
    ];

Because of missing .js file, you have that error in console (TypeError: $.growl is not a function). But you also must add .css file as well because without it you will not see growl, even though it works.




回答2:


I believe you're using the wrong function. Here's offical docs:

"Another important update is since version 3.x you no longer call the plugin using $.growl(...) you must use $.notify(...)."

In another words, just try using $.notify(...) instead of $.growl(...).



来源:https://stackoverflow.com/questions/38915060/showing-kartik-growl-via-ajax-in-yii2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!