Je suis un développeur PHP recrue.
J'ai créé un projet Web PHP avec une page HTML contenant un bouton "Ajouter". Le nom de la page est Awards.html. Le fichier Awards.html contient son fichier JavaScript contrepartie, Awards.js. Un code est exécuté dans ce fichier JS lorsque le bouton Ajouter est cliqué. Ce code envoie un appel AJAX à une classe PHP située dans le dossier Le code source de mes fichiers est donné comme suit: p> awards.html em> p> awards.js em> p> Prix.php (situé dans / contrôleur / code> dans le projet nommé, Prix.php. Ce fichier PHP qui contient du code pour exécuter une fonction appelée, additive () dans un autre fichier prenant.php situé dans le dossier
/ modèle / est affiché dans les récompenses. Page HTML. P>
/ contrôleur / code> dossier)
class Award
{
public function addFunction() {
$array = array(
'status' => '1'
);
return $array;
}
public function saveFunction() {
$array = array(
'status' => '2'
);
return $array;
}
}
3 Réponses :
Vous feriez mieux d'utiliser un cadre MVC dans lequel vous pouvez avoir des fonctions de contrôleur pour ajouter et enregistrer des fonctionnalités. Vous pouvez obtenir le comportement requis avec votre implémentation actuelle en envoyant un paramètre de chaîne de requête pour indiquer à votre script PHP qui fonctionne à appeler: Votre code JS ressemblera à: p> function onAdd() {
$("#divAddAward").load('controller/Award.php'); //The full path of the Award.php file in the web root
$.post(
'classes/Award.php?action=add'
).success(function(resp) {
json = $.parseJSON(resp);
});
}
function onSave() {
$("#divAddAward").load('controller/Award.php'); //The full path of the Award.php file in the web root
$.post(
'classes/Award.php?action=save'
).success(function(resp) {
json = $.parseJSON(resp);
});
}
Merci beaucoup d'avoir répondu. Je n'utilise pas de cadre MVC. J'ai fourni des noms factices des dossiers ici pour des raisons de sécurité et de confidentialité. Alors, quel sera le code source de mon fichier prime.php?
Merci. Comment passer une chaîne de mon fichier JS à la classe PHP? Pouvez-vous s'il vous plaît me fournir le code JS aussi?
Vous devrez ajouter action = enregistrer ou action = Ajouter un paramètre à votre URL
Ok maintenant, cela me donne l'erreur suivante: AVIS: Index non défini: Action en C: \ Xampp \ htdocs \ phpproject \ contrôleur \ prompt.php
Cela signifie que vous ne passez pas le paramètre d'action sur PHP Script. Vous pouvez également ajouter Isset Vérifier pour voir si le paramètre est passé.
Monsieur, je ne suis toujours pas capable de résoudre ce problème. Il semble que la valeur ne soit toujours pas transmise dans le fichier PHP. S'il vous plaît aider!
D'accord, j'ai trouvé la solution au problème moi-même.
J'ai envoyé un appel AJAX à get-type avec les données passées sous la forme de paramètres de chaîne et ajouté une propriété de réussite pour obtenir une confirmation si mon code a fonctionné ou non . J'ai aussi changé mon code prime.php pour attraper le paramètre transcuté avec succès. P>
afin que le code source de mes fichiers est le suivant: p>
awards.js em> p> prix.php em> p>
Il y a une méthode que j'ai découverte. S'il vous plaît lisez mon explication complètement pour continuer.
Dans votre code Ajax (je pense que vous utilisez jQuery), incluez une autre information 'Effectuer', avec la valeur = Nom de la fonction PHP. puis, dans votre fichier php, ajoutez ce morceau de code à Le début: p> puis, lorsque vous appelez à l'aide d'Ajax, vous pouvez obtenir une fonction particulière exécutée.
Exemple d'utilisation:
de exemple php exemple.php: p>
JavaScript: p>
Lorsque vous faites cela, le registre de fonction fonctionne automatiquement () sera exécuté. P> p>
Vous pouvez transmettre un paramètre supplémentaire à l'aide d'AJAX, ce paramètre supplémentaire servira de drapeau, donc si le paramètre = 'Ajouter' Exécuter AddFuntion, si le paramètre = "Enregistrer" Run Sauvegarde. Ceci est seulement pseudo