Comment appeler une fonction PHP via JavaScript ?
P粉133321839
P粉133321839 2023-07-30 18:57:00
0
2
591
<p>J'essaie d'appeler une fonction PHP à partir d'un fichier PHP externe dans un script JavaScript. Mon code est plus complexe, j'écris donc un exemple de code ici. </p><p>Voici mon code PHP : </p> <pre class="lang-php Prettyprint-override"><code><?php fonction ajouter($a,$b){ $c=$a+$b; retourner $c ; } fonction mult($a,$b){ $c=$a*$b; retourner $c ; } fonction diviser($a,$b){ $c=$a/$b; retourner $c ; } ?> </code></pre> <p>Code JS :</p> <pre class="brush:php;toolbar:false;"><script> var phpadd= add(1,2); //appelle la fonction php add var phpmult= mult(1,2); //appelle la fonction php mult var phpdivide= Divide(1,2); //appelle la fonction php Divide </script></pre> <p>C'est ce que je veux faire. </p><p>Mon fichier PHP d'origine ne contenait pas ces fonctions mathématiques, mais l'idée est la même. </p><p>S'il n'y a pas de solution appropriée, pouvez-vous s'il vous plaît proposer une alternative, mais elle doit appeler la valeur à partir d'un fichier PHP externe. </p><p><strong></strong></p>
P粉133321839
P粉133321839

répondre à tous(2)
P粉396248578

Essayez ceci

<script>
  var phpadd= <?php echo add(1,2);?> //call the php add function
  var phpmult= <?php echo mult(1,2);?> //call the php mult function
  var phpdivide= <?php echo divide(1,2);?> //call the php divide function
</script>
P粉235202573

Oui, vous pouvez envoyer une requête Ajax avec des données au serveur en utilisant les paramètres de requête, comme ceci (très simple) :

Veuillez noter que le code suivant utilise jQuery.

jQuery.ajax({
    type: "POST",
    url: 'your_functions_address.php',
    dataType: 'json',
    data: {functionname: 'add', arguments: [1, 2]},

    success: function (obj, textstatus) {
                  if( !('error' in obj) ) {
                      yourVariable = obj.result;
                  }
                  else {
                      console.log(obj.error);
                  }
            }
});

Votre fichier _functions_address.php devrait ressembler à ceci :

<?php
    header('Content-Type: application/json');

    $aResult = array();

    if( !isset($_POST['functionname']) ) { $aResult['error'] = 'No function name!'; }

    if( !isset($_POST['arguments']) ) { $aResult['error'] = 'No function arguments!'; }

    if( !isset($aResult['error']) ) {

        switch($_POST['functionname']) {
            case 'add':
               if( !is_array($_POST['arguments']) || (count($_POST['arguments']) < 2) ) {
                   $aResult['error'] = 'Error in arguments!';
               }
               else {
                   $aResult['result'] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1]));
               }
               break;

            default:
               $aResult['error'] = 'Not found function '.$_POST['functionname'].'!';
               break;
        }

    }

    echo json_encode($aResult);

?>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal