Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php MVC上使用ajax请求_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 在php MVC上使用ajax请求

Javascript 在php MVC上使用ajax请求,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在用php和javascript制作一个游戏网站。所以我的类和数据是用php编写的,我用json数据类型对它们进行编码。我调用我的视图,它本身调用js文件,由于ajax请求,该文件恢复用json编码的php数据,并用javascript发布它们。我的问题是,我不知道如何将它集成到我的mvc中,也就是说,用一个动作遍历我的索引,而不是直接调用我的视图 我的控制器: class Controlleur { public function __construct() { g

我正在用php和javascript制作一个游戏网站。所以我的类和数据是用php编写的,我用json数据类型对它们进行编码。我调用我的视图,它本身调用js文件,由于ajax请求,该文件恢复用json编码的php数据,并用javascript发布它们。我的问题是,我不知道如何将它集成到我的mvc中,也就是说,用一个动作遍历我的索引,而不是直接调用我的视图

我的控制器:

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();
            }
        }); },

如果您需要更多的解释或详细信息,您可以直接告诉我。

这是调用其他视图的视图主页,set.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>

这是我的set.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>

(测试)设置
查找集合

找到的集合:0

套数:


仅仅因为您将一个类称为“controller”,并不意味着它是MVC。