2016-08-12 75 views
1

上午,我想表现出通过AJAX成功使用卡尔蒂克咆哮通过ajax显示卡尔蒂克咆哮yii2

我已经试过

这咆哮是的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 ]); 
+0

那么,你面临的@geof有什么问题? –

+0

我想。而不是'echo json_encode'('你应该这样做'return json_encode('。 –

+0

咆哮实际上并没有显示出来 –

回答

4

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

为了解决这个问题,去资产/ 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文件,因为没有它,即使它有效,也不会看到咆哮。