基本上我正在做的是創建一個圖形計算器(使用 BokehJS),該計算器目前透過 html 取得一些輸入,然後 javascript 讀取資料並進行計算,然後輸出結果圖形。
問題是我們不希望使用者能夠看到所有的計算程式碼。 如果他們能看到 getter 和 setter 方法就很好了。
我需要它做的是:
我們正在使用 WordPress 伺服器,目前我只是在本機上進行測試,因此允許測試和部署的方式會很棒。
目前這是我所擁有的:
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); }
測試.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"; } ?>
我希望擁有它,這樣我就可以在一個文件中擁有多個函數,我看到的大多數解決方案每個文件中只有 1 個函數。
mypage.html
<!-- Just a simple button to call the main Javascript function--> <input type="button" value="Test function" onclick="test_test()">
所以基本上,總體問題是我如何更改 javascript 請求,使其能夠將參數傳遞給伺服器端 PHP,然後返回呼叫 js 函數
編輯:如果有一種方法可以使用伺服器端 javascript 而不是 PHP,那就更好了,因為腳本已經用 JS 編寫,除非必要,否則我不想用 PHP 重寫。
P粉1291682062024-01-17 12:15:40
我是如何解決類似問題的 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 "