显示kartik咆哮通过ajax在yii2

Showing kartik growl via ajax in yii2

本文关键字:ajax yii2 kartik 咆哮 显示      更新时间:2023-09-26

我正在使用kartik的咆哮声,我想通过ajax成功显示咆哮声

我试过了

这是javascript代码:
$.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");
  }
});
这是控制器代码:
$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 ]);

如果您看到TypeError: $.growl is not a function,则意味着您没有在AppAsset.php文件中包含所需的文件。

要解决此问题,请转到assets/AppAsset.php文件并添加:

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

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

由于缺少.js文件,您在控制台(TypeError: $.growl is not a function)中出现该错误。但是您也必须添加.css文件,因为没有它,您将看不到咆哮,即使它工作。

我想你用错函数了。以下是官方文档:

"另一个重要的更新是从版本3开始的。X不再叫插件使用$.growl(…),必须使用$.notify(…)。"

换句话说,就试着用美元.notify (…),而不是美元.growl (…)。