Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Ajax yii2

Статус пользователя AZA
сообщение 6.2.2018, 18:40
Сообщение #1


Стаж: 11 лет

Сообщений: 479
Благодарностей: 173
Полезность: 490

Приветствую,такая ситуация:
Есть div информацией с бд,как мне обновить отдельный div ?Использую yii2.
Если на голом проекте,то прокатит этот варик(Варварский:D):
Код:

setTimeout(F1, 5000);
function F1(){
$.get('index.php', function(data){
$('#map').html(data);
});
setTimeout(F1, 5000);
}


Но не для yii.


*
* puk
*
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя RobCarlos
сообщение 6.2.2018, 20:01
Сообщение #2
Стаж: 12 лет

Сообщений: 103
Благодарностей: 73
Полезность: 167

А причем тут yii2, если речь о фронтенде? Этот же js код должен работать и на yii2 проекте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 6.2.2018, 20:51
Сообщение #3


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

AZA, Используй Pjax

Код:

<?php
use yii\widgets\Pjax;
$js = <<<JS
setInterval(function() {
$.pjax.reload({
container: '#my-pjax-container'
});
}, 3000)
JS;
$this->registerJs($js);
Pjax::begin(['id' => 'my-pjax-container']);
?>
Какой-то вывод
<?php
Pjax::end();
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя AZA
сообщение 7.2.2018, 12:09
Сообщение #4


Стаж: 11 лет

Сообщений: 479
Благодарностей: 173
Полезность: 490

RobCarlos, Потому что это yii,тут не нужны велосипеды,все за тебе уже давным давно придумали.Что и сделал onotole.


*
* puk
*
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RobCarlos
сообщение 7.2.2018, 12:16
Сообщение #5
Стаж: 12 лет

Сообщений: 103
Благодарностей: 73
Полезность: 167

Цитата(AZA @ 7.2.2018, 12:09) *
RobCarlos, Потому что это yii,тут не нужны велосипеды,все за тебе уже давным давно придумали.Что и сделал onotole.


Сейчас бы использовать велосипед в виде Pjax для обновления 1 блока. Ты же понимаешь, что pjax загружает всю страницу еще раз просто обновляет лишь один блок? Намного проще запрашивать только нужную информацию обычными аякс запросами каждые N секунд.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 7.2.2018, 15:29
Сообщение #6


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

RobCarlos, AZA правильно написал. Это YII. Это RAD фреймворк а-ля чик-чик и в продакшен.
По правильному нужно делать post (а если следовать правилам REST, то get) запрос, в котором отдать json, и с этим json уже оперировать на фронте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RobCarlos
сообщение 7.2.2018, 16:09
Сообщение #7
Стаж: 12 лет

Сообщений: 103
Благодарностей: 73
Полезность: 167

Цитата(onotole @ 7.2.2018, 15:29) *
RobCarlos, AZA правильно написал. Это YII. Это RAD фреймворк а-ля чик-чик и в продакшен.
По правильному нужно делать post (а если следовать правилам REST, то get) запрос, в котором отдать json, и с этим json уже оперировать на фронте


Ладно, сохраню тебе лицо местного php гуру и не буду спорить pardon.gif

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 7.2.2018, 16:27
Сообщение #8


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

RobCarlos, давай поспорим
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: