Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 08.12.2014
Сообщений: 7

MVC PHP AJAX принять обработать вернуть

08.12.2014, 10:49. Показов 3893. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем форумчанам. Решил создать данную тему, так как почитал то что уже есть на форуме и если честно, то решения так и не нашел.
Сайт делаю себе на MVC ООП, понадобилось прикрутить к нему AJAX и столкнулся с проблемой при возврате данных.
Направьте пожалуйста на путь истинный.
Вот мой контроллер indexController.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
class IndexController implements IController{
    /*метод который отрисовывает страницу*/
    public function indexAction(){
          $fc = FrontController::getInstance();
          $params = $fc->getParams();
          $params['token'] = $_COOKIE['PHPSESSID'];
          $view = new IndexModel();
          $view->params = $params;
          $result = $view->render('../views/index.php', $params);
          $fc->setBody($result);
    }    
   /*Метод созданный для обработки AJAX*/ 
   public function ajaxAction(){
        $fc = FrontController::getInstance();
        $params = $fc->getParams();
        $view = new IndexModel();
        $ajax = $view->ajax();
    }
Когда отрисовывается страница, то на ней у меня есть форма, при нажатии на ( отправить ), а я сделал не ( submit ) а ( button ) у меня обрабатывается JS

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$(document).ready(function() {
            // Добавляем новую запись, когда произошел клик по кнопке
            $("#FormSubmit").click(function (e) {
                e.preventDefault();
                if($("#contentText").val()==="") {
                    alert("Введите текст!");
                    return false;
                }
                var myData = "/content_txt="+ $("#contentText").val();
                jQuery.ajax({ // HTTP метод  POST                    
                    url: "index/ajax", //url-адрес, по которому будет отправлен запрос                   
                    data:myData, //данные, которые будут отправлены на сервер (post переменные)
                    success:function(response){
                        $("#responds").append(response);
                        $("#contentText").val(''); //очищаем текстовое поле после успешной вставки
                    },
                    error:function (xhr, ajaxOptions, thrownError){
                        alert(thrownError);
                    }
                });
            });
Данные отправляются, в модели проверяю на ПОСТ, они приходят, и тут начинается самое интересное.
Когда идет возврат данных, то у меня в том месте где данные должны как бы обновится, отрисовывается снова полностью вся страничка вместе с формой и тем постом что я отправил. И так получается всякий раз как я делаю отправку формы.

вот сама форма в ( index.php )
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div class="content_wrapper">
    <ul id="responds">
        <?php if(is_array($result)){; ?>
            <?php foreach($result as $list){; ?>
                <?php if($list['id_admin'] != 0){; ?>
                    <li style="margin-right: 20px; background-color: red; " id="item_'<?php echo $list['id']; ?>'">
                        <div class="del_wrapper"><a href="#" class="del_button" id="del-'<?php echo $list['id']; ?>'">
                                <img src="/images/icon_del.gif" border="0" />
                            </a></div>
                        <?php echo $list['listText']; ?>
                    </li>
                <?php }else{; ?>
                    <li style="margin-left: 25px; background-color: blue; " id="item_'<?php echo $list['id']; ?>'">
                        <div class="del_wrapper"><a href="#" class="del_button" id="del-'<?php echo $list['id']; ?>'">
                                <img src="/images/icon_del.gif" border="0" />
                            </a></div>
                        <?php echo $list['listText']; ?>
                    </li>
                <?php }; ?>
            <?php }; ?>
        <?php }
 
    </ul>
    <div class="form_style">
        <input type="hidden" value="1"/>
        <input type="hidden" id="token" value="<?php echo $params['token']; ?>" />
        <input type="hidden" id="userId" value="<?php echo $userId; ?>"/>
        <textarea name="content_txt" id="contentText" cols="45" rows="5"></textarea>
        <button id="FormSubmit">ОТПРАВИТЬ</button>
    </div>
    <div>
У меня есть предположение что не правильно реализовал сам контроллер так как там при вызове модели идет один параметр это конкретно страничка которую надо отрисовать и один массив ($params )

PHP
1
2
$result = $view->render('../views/index.php', $params);
$fc->setBody($result);
Если знаете как правильно обрабатывать данные чтоб не отрисовывалась вся страница, подскажите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2014, 10:49
Ответы с готовыми решениями:

PHP MVC ООП - как принять и обработать форму, отправленную аяксом
Здравствуйте, прошу помощи по следующей проблеме... В целях изучения ООП и паттерна проектирования MVC решил создать сайт с...

PHP, MVC и AJAX
Приветствую всех! Начал разбираться с MVC и в данный момент делаю авторизацию на сайте. Возник вопрос, можно ли использовать технологию...

Есть AJAX код, который отправляет POST данные в php. Как их принять в php?
Всем привет! AJAX код отправляет post данные в php файл. Как принять эти post данные в php? Вот AJAX: ...

2
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
11.12.2014, 18:46
а что происходит в конструкторе модели, и в методе ajax?
0
1 / 1 / 1
Регистрация: 08.12.2014
Сообщений: 7
26.12.2014, 01:09  [ТС]
Всем спасибо, вопрос снят, все получилось, самый простой пример реализации описан по данной ссылке.
MVC подход и Ajax
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.12.2014, 01:09
Помогаю со студенческими работами здесь

Как передать даные через ajax и принять их на php
let person = { name:&quot;Vova&quot;, last:&quot;Nak&quot;, age:18 } // let person = &quot;hello&quot; // let pre = &quot;order=&quot;; function toPHP(){...

Ajax в MVC. Осуществить аутентификацию, при этом если модель не проходит валидацию, вернуть форму с ошибками
Добрый день, подскажите, кто чем может. Ситуация: на странице есть ajax-форма для входа (логин ипароль + кнопка ВХОД). Задача:...

MVC ajax php
Не могу понять, как мне ajax(ом) подгружать данные при подходе MVC?Куда отправлять запрос? Ajax разместил во вьюхе class...

Обработать AJAX ом запрос выведенный циклом php
Здравствуйте ! Если выводятся циклом поля , можно ли их обработать с помощью AJAX? Не используя id!!! &lt;ul...

PHP AJAX Framework с поддержкой mvc
Для себя отметил: * JsHttpRequest от dklab - истинно кроссбраузерный, но по первому впечатлению, сложноват и не сильно удобен ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru