Rumah  >  Soal Jawab  >  teks badan

Lulus parameter kepada fungsi tertentu dalam fail PHP di sebelah pelayan (dari JS) dan kembalikan hasilnya kepada fungsi JS yang memanggil fungsi

Pada asasnya apa yang saya lakukan ialah mencipta kalkulator grafik (menggunakan BokehJS) yang pada masa ini mengambil beberapa input melalui html, kemudian javascript membaca data dan melakukan pengiraan, kemudian mengeluarkan graf yang terhasil.

Masalahnya ialah kami tidak mahu pengguna dapat melihat semua kod pengiraan. Alangkah baiknya jika mereka dapat melihat kaedah getter dan setter.

Apa yang perlu saya lakukan ialah:

  1. Dapatkan input pengguna pada halaman HTML
  2. Baca input menggunakan JavaScript (sebelah pelanggan)
  3. Salurkan data input baca ke PHP (pada pelayan WordPress) untuk pengiraan
  4. PHP menghantar data hasil kembali ke JS
  5. JS (pihak pelanggan) mengendalikan perkara yang perlu dilakukan dan cara memaparkan data

Kami menggunakan pelayan WordPress dan pada masa ini saya hanya menguji pada mesin tempatan saya jadi cara untuk membenarkan ujian dan penggunaan adalah bagus.

Pada masa ini inilah yang saya ada:

myjavascript.js

function test_test(){

    const staticPNVals = getStaticPN(); //send this to php file as parameter to function
    const ret_array = [];
    
    //The below needs to be changed, idk how to do it
    const xmlhttp = new XMLHttpRequest();
    xmlhttp.onload = function() {
        const myObj = JSON.parse(this.responseText);
        ret_array = myObj;
    }
    xmlhttp.open("GET", "test.php");
    xmlhttp.send();

    console.log("ret_array is " + ret_array);
}

test.php

<?php
function doStuff($myarr) {
    $myarr2 = array();
    for ($x = 0; $x <= 10; $x++) {
        array_push($myarr2, $myarr[$x]);
      }
    return $myarr2;
}

function doOtherStuff(){
    echo "Hello World";
}
?>

Saya ingin memilikinya supaya saya boleh mempunyai berbilang fungsi dalam satu fail, kebanyakan penyelesaian yang saya lihat hanya mempunyai 1 fungsi dalam setiap fail.

mypage.html

<!-- Just a simple button to call the main Javascript function-->
<input type="button" value="Test function" onclick="test_test()">

Jadi pada asasnya, persoalan keseluruhan ialah bagaimana saya menukar permintaan javascript untuk dapat menghantar parameter ke PHP sisi pelayan dan kemudian kembali memanggil fungsi js

EDIT: Alangkah baiknya jika ada cara untuk menggunakan javascript sisi pelayan dan bukannya PHP, kerana skrip sudah ditulis dalam JS dan saya tidak mahu menulis semula dalam PHP melainkan perlu.

P粉593649715P粉593649715276 hari yang lalu434

membalas semua(1)saya akan balas

  • P粉129168206

    P粉1291682062024-01-17 12:15:40

    Bagaimana saya menyelesaikan masalah yang sama JS

    let formData = new formData();
        formData.append("nameOfFunction","function you want to call");
        formData.append("variableA","some value");
    fetch("phpFileName.php"{body: formData,method: POST})
        .then((response)=>response.text)
        .then((data)=>{
            //do whatever
        })

    PHP

    $nameOfFunction = $_POST["nameOfFunction"];  // unsure past this point
    echo "