Ich mache eine Website mit mehreren Aufrufen von PHP über AJAX, jetzt verwendet AJAX POST, um eine Echo-Zeichenfolge von PHP zu erhalten, vergleicht diese dann in einem Schalter und macht dann, was erforderlich ist. Beispiel in dem folgenden CodeAufruf einer JS-Funktion von PHP
function submitPHP(dataForPHP){
//Runs ajax request
$.ajax({
type : "POST",
url : 'initPHP.php',
dataType : 'text',
data : dataForPHP,
success : function(data){
//Checks echoed data from PHP
switch(data){
case "LOGIN_ACCEPTED":
loggedInFunction();
break;
case "LOGIN_FAILED":
loggedInFailedFunction();
break;
}
}
});
}
Ich denke, wenn es eine Möglichkeit für die PHP ist zurück, welche Funktion (wie „loggedInFunction();“) Ich möchte anstelle einer Zeichenfolge nennen, die ich dann haben, vergleichen und dann die Funktion aufrufen? Ich kann den AJAX ändern, um JSON stattdessen zu verwenden, wenn das tut.
Ich habe mich auf anderen ähnlichen Fragen hier auf Stack auf den meisten von ihnen gesucht wollen eine ganze Funktion Echo, die nicht das ist, was ich tun möchte.
Vielen Dank im Voraus!
Ich denke, dass, was Sie tun möchten, ist JSONP: https://Stackoverflow.com/a/3840118/4949918 – Axnyff
Ich denke [this] (https://stackoverflow.com/questions/912596/how-to-turn-ein-string-in-ein-javascript-funktion-anruf) könnte das sein, was Sie suchen. Ich finde es ein bisschen merkwürdig, dass Sie das Back- und Frontend so eng koppeln wollen, aber es ist möglich. Letztes Wort des Rates: gehen Sie nicht die Eval-Route hinunter. Da sind Drachen. –
Sie wollen nicht tun, was Sie tun möchten. Es ist nicht das Geschäft von PHP, überhaupt zu wissen, welche Funktion in JS aufgerufen werden soll, noch ist es das Geschäft von JS, PHP zu sagen, welche Funktionen zu verwenden sind.Halten Sie sie getrennt und verwenden Sie eine Schnittstelle für die Kommunikation zwischen den beiden Enden, oder Sie werden am Ende PHP debuggen müssen, weil Sie etwas in JS geändert haben und umgekehrt – Thomas