2016-08-12 108 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文件,因爲沒有它,即使它有效,也不會看到咆哮。