Usin ajax запрос на php MVC - PullRequest
       2

Usin ajax запрос на php MVC

0 голосов
/ 17 июня 2020

Я делаю игровой сайт в php и javascript. Итак, мои классы и мои данные находятся в php, и я кодирую их в json типе данных. Я вызываю свое представление, которое само вызывает файл js, который, благодаря запросу ajax, восстанавливает данные php, закодированные в json, и отправляет их с javascript. Моя проблема в том, что я не знаю, как интегрировать это в мои mvc, ie, go через мой индекс с действием и не вызывать напрямую мое представление.

Мой контроллер:

class Controlleur
{
    public function __construct() {
        global $rep,$vues;

        try{
            $action=$_REQUEST['action'];
            switch($action){
                case NULL:
                    $this->homePage();
                    break;
                case "VoirScore":
                    $this->afficherScore();
                    break;
                default:
                    $dVueEreur[] =  "Erreur d'appel php";
                    require ($rep.$vues['error']);
                    break;
            }

        } catch (PDOException $e)
        {
            echo $e->getMessage();
            $dVueEreur[] =  "Erreur inattendue PDO!!! ";
            require ($rep.$vues['error']);

        }
        catch (Exception $e2)
        {
            $dVueEreur[] =  "Erreur inattendue!!! ";
            require ($rep.$vues['error']);
        }
    }

    public function homePage(){
        global $vues, $rep;

        require($rep . $vues['homePage']);
    }

Мой индекс:

session_start();

Autoload::charger();

new Controlleur();

Мой Js ajax запрос:

var Game = {
    cards: [],
    selected: [],
    score: 0,
    $board: $('[data-display="game-board"]'),
    $score: $('[data-display="score"]'),



    deal: function() {
        var self = this;
        var dealRequest = $.ajax({
            url: 'set.php?action=deal',
            type: 'GET',
            dataType: 'json',
            success: function(data) {
                self.cards = data;
                self.displayCards.call(self);
                self.setCardListeners();
                self.setPageListeners();
            }
        }); },

Если вам нужно больше объяснений или подробностей, вы можете просто позвонить мне .

1 Ответ

0 голосов
/ 17 июня 2020

Это домашняя страница представления, которая вызывает и устанавливает другие представления. js - это файл, в который интегрирован файл javascript с ajax, и вы можете видеть, что я вызываю ее без действия.

 <div class="menu box">
        <a href="#" class="logo">HyperSet</a>
        <a href="set.html">Jouer</a>
        <a href="index.php?action=VoirScore">Voir Les Scores</a>
        <a href="#">Règles</a>

    </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script type="text/javascript" src="vues/js/Settings.js"></script>

Это мой набор. html

<div class="wrapper">
    <h1>(TEST) Set</h1>
    <p>Find sets.</p>
    <p>Sets found:  <span data-display="score" class="score">0</span></p>
    <p>Number of Sets:  <span data-display="nbSets" class="nbSets"></span></p>

    <div class="game-board" data-display="game-board" style="display: block;" ></div>
</div>


</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="vues/js/set.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...