我正在使用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");
  }
});

这是 Controller 代码:
$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文件,因为没有它,即使可以工作,您也不会看到咆哮声。

10-07 14:10