Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memanggil fungsi PHP melalui JavaScript?

<p>Saya cuba memanggil fungsi PHP daripada fail PHP luaran ke dalam skrip JavaScript. Kod saya lebih kompleks, jadi saya menulis kod sampel di sini. </p><p>Ini ialah kod PHP saya: </p> <pre class="lang-php prettyprint-override"><code><?php fungsi tambah($a,$b){ $c=$a+$b; pulangkan $c; } fungsi mult($a,$b){ $c=$a*$b; pulangkan $c; } bahagi fungsi($a,$b){ $c=$a/$b; pulangkan $c; } ?> </code></pre> <p>Kod JS:</p> <pre class="brush:php;toolbar:false;"><script> var phpadd= add(1,2); //panggil fungsi php add var phpmult= mult(1,2); //panggil fungsi php mult var phpdivide= divide(1,2); //panggil fungsi php divide </script></pre> <p>Inilah yang saya mahu lakukan. </p><p>Fail PHP asal saya tidak mengandungi fungsi matematik ini, tetapi ideanya adalah sama. </p><p>Jika tiada penyelesaian yang sesuai, bolehkah anda memberikan alternatif, tetapi ia harus memanggil nilai daripada fail PHP luaran. </p><p><strong></strong></p>
P粉133321839P粉133321839421 hari yang lalu507

membalas semua(2)saya akan balas

  • P粉396248578

    P粉3962485782023-07-31 18:12:34

    Cuba ini

    <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>

    balas
    0
  • P粉235202573

    P粉2352025732023-07-31 12:39:42

    Ya, anda boleh menghantar permintaan Ajax dengan data ke pelayan menggunakan parameter permintaan, seperti ini (sangat mudah):

    Sila ambil perhatian bahawa kod berikut menggunakan 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);
                      }
                }
    });

    Fail _functions_address.php anda sepatutnya kelihatan seperti ini:

    <?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);
    
    ?>

    balas
    0
  • Batalbalas