gpt4 book ai didi

javascript - 从 javascript 调用 php 命令?

转载 作者:行者123 更新时间:2023-12-03 12:01:15 24 4
gpt4 key购买 nike

我已经成功地使用ajax从javascript调用php:

function fun()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
document.getElementById("content").innerHTML = xhr.responseText;
}
}
xhr.open('GET', 'my.php', true);
xhr.send();
}

但是如果我想调用 php 命令而不是整个文件怎么办

类似于:

xhr.open('GET', echo "hello world", true);

了解更多信息

我正在尝试从java脚本调用shell脚本,并且我不想为每个函数创建一个全新的php文件,因为有很多函数,这将导致很多php文件

最佳答案

您无法从 JavaScript“调用”PHP 函数。 JavaScript 在客户端执行(例如在浏览器上),而 PHP 是服务器端语言,即在您请求页面(文件等)的服务器上执行。您所实现的是通过 AJAX 从 JavaScript 向 PHP 文件发出服务器(HTTP)请求,结果将是执行其包含 PHP 的代码,并且生成的 HTML/JS 结果将“返回”给您,如下所示回应。

您可以做的是在服务器中准备一个调度逻辑(if 语句,基于客户端将作为请求查询的一部分发送的内容),使请求发送不同查询参数,并根据发送的内容执行代码:

//Warning: Untested code - but you get the logic.

//PHP file:
function1(){ /*Your case 1 code here*/}
function2(){ /*Your case 2 code here*/}

//This can also be done with a switch statement
$case = $_GET["c"];
$content = "";
if($case == 1){
$content = function1();
}
else if($case == 2){
$content = function2();
}
return $content;


//JS file (Or HTML containing JS file):

function fun()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
document.getElementById("content").innerHTML = xhr.responseText;
}
}
xhr.open('GET', 'my.php?c=1'/*or 2, the case goes here*/, true);
xhr.send();
}

即使在这种情况下,很明显您也不是直接从 JavaScript 执行 PHP 代码。您所做的就是根据您拥有的“要求”(查询值)“要求”服务器为您执行该部分代码,并将结果返回给您。

关于javascript - 从 javascript 调用 php 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com