В yii версии 1.14 мы использовали
CHtml::ajaxlink
для вызова ajax как насчет yii2?
В yii версии 1.14 мы использовали
CHtml::ajaxlink
для вызова ajax как насчет yii2?
Вы можете сделать ссылку ajax, например
Html::a('Your Link name','controller/action', [
'title' => Yii::t('yii', 'Close'),
'onclick'=>"$('#close').dialog('open');//for jui dialog in my page
$.ajax({
type :'POST',
cache : false,
url : 'controller/action',
success : function(response) {
$('#close').html(response);
}
});return false;",
]);
Вы можете легко создавать и объединять все такие клиентские помощники для своих нужд в отдельные файлы JS. Используйте новые функции AssetBundle и AssetManager с объектом View в Yii2, чтобы управлять этими активами и тем, как они загружаются.
Кроме того, встроенные ресурсы (JS/CSS) можно зарегистрировать во время выполнения из представления. Например, вы можете явно имитировать функцию ajaxLink, используя встроенный javascript. Однако рекомендуется, если вы можете по возможности объединить клиентский код (JS/CSS) в отдельные файлы JS/CSS и загрузить их через AssetBundle. Обратите внимание, что CClientScript больше не нужен:
$script = <<< JS
$('#el').on('click', function(e) {
$.ajax({
url: '/path/to/action',
data: {id: '<id>', 'other': '<other>'},
success: function(data) {
// process data
}
});
});
JS;
$this->registerJs($script, $position);
// where $position can be View::POS_READY (the default),
// or View::POS_HEAD, View::POS_BEGIN, View::POS_END
$.get( "' . Url::toRoute('controller/action') . '", { item: $("#idoffield").val()} ) /* to send the parameter to controller*/
.done(function( data )
{
$( "#lists" ).html( data );
})
и дайте списки идентификаторов для div
<div id="lists"></div>
для получения дополнительной информации посетите https://youtu.be/it5oNLDNU44