Heim > Fragen und Antworten > Hauptteil
Im Grunde erstelle ich einen Grafikrechner (mit BokehJS), der derzeit einige Eingaben über HTML entgegennimmt, dann liest Javascript die Daten und führt die Berechnungen durch und gibt dann das resultierende Diagramm aus.
Das Problem besteht darin, dass wir nicht möchten, dass Benutzer den gesamten Berechnungscode sehen können. Es wäre schön, wenn sie die Getter- und Setter-Methoden sehen könnten.
Was ich tun muss, ist:
Wir verwenden einen WordPress-Server und derzeit teste ich nur auf meinem lokalen Computer, daher wäre eine Möglichkeit, Tests und Bereitstellung zu ermöglichen, großartig.
Derzeit habe ich Folgendes:
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"; } ?>
Ich hätte es gerne, damit ich mehrere Funktionen in einer Datei haben kann. Die meisten Lösungen, die ich sehe, haben nur eine Funktion pro Datei.
meine Seite.html
<!-- Just a simple button to call the main Javascript function--> <input type="button" value="Test function" onclick="test_test()">
Die allgemeine Frage lautet also: Wie ändere ich die Javascript-Anfrage, um Parameter an serverseitiges PHP übergeben zu können, und kehre dann zum Aufruf der js-Funktion zurück
BEARBEITEN: Es wäre schön, wenn es eine Möglichkeit gäbe, serverseitiges Javascript anstelle von PHP zu verwenden, da das Skript bereits in JS geschrieben ist und ich es nicht in PHP umschreiben möchte, es sei denn, es ist notwendig.
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 "