Lulus parameter kepada fungsi tertentu dalam fail PHP di sebelah pelayan (dari JS) dan kembalikan hasilnya kepada fungsi JS yang memanggil fungsi
P粉593649715
P粉593649715 2024-01-16 22:27:27
0
1
484

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粉593649715
P粉593649715

membalas semua(1)
P粉129168206

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 "
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan