За последние 24 часа нас посетили 59214 программистов и 1830 роботов. Сейчас ищут 889 программистов ...

Не работает Ajax

Тема в разделе "Yii", создана пользователем Dimon2x, 14 апр 2018.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Взял пример отсюда
    https://nix-tips.ru/examples/yii2pjax/vote

    Если прибавить или убавить, то происходит перезагрузка страницы, почему?

    PHP:
    1.  public function actionVote()
    2. {
    3.     return $this->render('vote');
    4. }
    5.  
    6. public function actionUpvote()
    7. {
    8.     $votes = Yii::$app->session->get('votes', 0);
    9.     Yii::$app->session->set('votes', ++$votes);
    10.     return $this->render('vote');
    11. }
    12.  
    13. public function actionDownvote()
    14. {
    15.     $votes = Yii::$app->session->get('votes', 0);
    16.     Yii::$app->session->set('votes', --$votes);
    17.     return $this->render('vote');
    18. }
    PHP:
    1. <?php
    2.    use yii\widgets\Pjax;
    3.    use yii\bootstrap\Html
    4. ?>
    5.  
    6. <?php Pjax::begin(['enablePushState' => false]); ?>
    7. <?= Html::a('', ['site/upvote'], ['class' => 'btn btn-lg btn-warning glyphicon glyphicon-arrow-up']) ?>
    8. <?= Html::a('', ['site/downvote'], ['class' => 'btn btn-lg btn-primary glyphicon glyphicon-arrow-down']) ?>
    9. <h1><?= Yii::$app->session->get('votes', 0) ?></h1>
    10. <?php Pjax::end(); ?>
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    В консоли браузера что? Я правда этим пиджаком никогда не пользуюсь. Его, кстати, и @SamDark скоро пошлёт к чертям
     
  3. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    А вот эта фича мне нравится. Если отправить массив и внутри будет цикл тоже отработает?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Может быть, не знаю :) Мне не трудно на jQuery руками ajax-запрос написать, поэтому я всякие pjax-ы не задействую
     
  5. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Тоже правильно. Но магии иногда не хватает)
     
  6. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @mkramer @nospiou то есть, если использовать ajax, как обычно, то это будет нормально?
    --- Добавлено ---
    @mkramer почему пошлёт к чертям?
    --- Добавлено ---
    Код (Text):
    1. Uncaught TypeError: jQuery(...).pjax is not a function
    Короче нафиг это jquery, буду использовать нативный
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Ну думаю потому что его используют для всего не обращая внимания на производительность. Хотя выглядит красиво. Я бы и сам пользовался.
     
  8. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @nospiou в смысле выглядит красиво?
     
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Если внутри поддерживаются циклы и условия это магия:)
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Потому что он решил, что его поддержка не оправдывает себя и есть более интересные аналоги.
    Почему-то у тебя не подключился скрипт Pjax, надо выяснять, почему
    --- Добавлено ---
    https://yiiframework.ru/forum/viewt...lit=PJax&sid=73d681474892696b97b02b9b94087074 - вот тут @SamDark перечисляет кучу аналогов pJax
     
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Посмотрел команду разработчиков. Там практически одни русские. Только основатель китаец.o_O
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ага, и китаец уже отошёл от проекта.
     
  13. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @nospiou а вся дока на английском
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @Dimon2x, да ладно... https://www.yiiframework.com/doc/guide/2.0/ru Это обновление сайта, правда недавно выложили. Но и до этого можно было в сети на русском найти. Хотя, я всегда пользовался английской докой
     
  15. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Теперь понятно почему yii так защищают. Ну будем надеятся что у них все получится. Фамилия в китайца кстати интересная.
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    От кого? Вообще, любой фреймворк - дело предпочтений. Но Yii2 работает объективно быстрее Laravel-я, и некоторые вещи на нём удобнее делать. Некоторые - наоборот на Laravel удобнее. К примеру, на Yii можно простую CRUD-админку нагенерить автоматом за день-два, аналогичные дополнения для Laravel тоже имеются, но они более сложно закрученные, и поменять что-то в том коде, который они дают, куда сложнее.

    С другой стороны, middleware в Laravel конечно удобнее, чем beforeAction в Yii2, @SamDark обещался сделать в 2.1 их, посмотрим