У меня есть представление с gridview с checkboxcolumn и google-map (2amigos). Пользователь выбирает машины для отображения на карте, выбирая соответствующие элементы в gridview. Кнопка html передает выбранные ключи контроллеру. После кода Controler (DataProvider обновляется пост-запроса):yii2 render after post-request
//some code before render
$dataProvider = new ActiveDataProvider(['query'=>$query, 'pagination'=>false]);
return $this->render('locating', [
'model' => $model,
'searchModel' => $searchModel,
'dataProvider1' => $dataProvider1,
'dataProvider' => $dataProvider,
]);
}
И это JS-скрипт для кнопки HTML:
$('#showButton').click(function(){
var keys = $('#w0').yiiGridView('getSelectedRows');
$.post("http://localhost:8080/eddb1/frontend/web/index.php?r=tracking/locating",
{'keylist': keys},
function(data){
console.log(data);
});
});
Проблема заключается в том, что с запросом на пост результат команды php-render получает запись в виде html-строки в post-response, но представление не получает повторной визуализации. Если я делаю то же самое с activeForm вместо gridview (для выбора машин) и кнопки отправки, страница будет повторно отображаться так, как должна (но этот способ не работает для меня, потому что мне нужен gridview с фильтром и сортировка). Что я могу сделать, чтобы карта (или представление) была повторно отображена с последующим запросом?
Пожалуйста, покажите код контроллера ... – scaisEdge
Не понимаю, почему ... но я буду размещать в целом контроллера код –
Любые идеи для этой проблемы? –