Добрый вечер.
Тут, как минимум, два варианта.
Самый простой это сформировать переменную с адресом и передать в js, при этом надо правильно подключить js
$url = Utl::toRoute(// путь к Вашему контролеру/действию.);
$this->registerJs(
"
$('.month').click(function() {
var date = $(this).text();
$.ajax({
url: '".$url."',
date: date,
method: 'post',
dataType: 'json',
success: function () {
alert('success');
},
error: function (response) {
console.log(response);
}
})
});
", yii\web\View::POS_END)
Это если js находится в том же файле.
Если js у Вас вынесен в отдельный файл, то я бы добавил дополнительный параметр, например к ссылке, в котором хранился бы url. При клике по ссылке читал бы этот параметр и формировал из него url для ajax запроса.
Пример:
php
Html::a('Link', $url, ['data' => ['ajaxurl' => Url::toRoute(// путь к контролеру/действию)]])
js
$('a').on('click', function(){
var url = $(this).attr('data-ajaxurl')
$.ajax({
url: url
})
})