javascript - 在 php MVC 上使用 ajax 请求
问题描述
我正在用 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>
推荐阅读
- python - web2py: Using db(...) in a module
- javascript - Save javascript blob object to a file in php
- azure-devops - 如何从成功发布中创建 VSTS 拉取请求状态?
- python - 如何从另一个进程中的任务获取任务信息/结果?
- php - Vagrant changing files from c drive
- google-analytics - 如何设置 gtag anonymize_ip?我做错了吗?
- javascript - 在 shadow DOM 中使用第三方脚本
- json - 如何在聊天机器人中不使用对话流给出输入和输出响应?
- c# - 异步线程beginoutputreadline c#
- android - I am getting new error