我已经阅读了有关我的问题的所有主题,但无法解决我的问题.我想用jQuery AJAX获取php函数结果.
function.php
function generateCode() {
//code here
}
function generateResult() {
//code here
}
Run Code Online (Sandbox Code Playgroud)
如何使用jQuery AJAX捕获函数结果?我不想改变function.php结构,因为它与另一个页面有关.
请参阅使用jquery $ .ajax来调用PHP函数,没有答案可以解决我的问题.谢谢
dec*_*eze 35
你无法从Javascript调用PHP文件中的函数,完全停止.客户端(此处:Javascript)只能通过HTTP协议与服务器(此处为:PHP)通信.HTTP协议没有文件,函数或编程语言的概念.这意味着您只能通过URL或HTTP标头传输信息.因此,您永远不能从Javascript调用PHP函数,您所能做的就是请求返回数据的URL.
因此,通过请求URL,比如说http://example.com/myscript.php,脚本myscript.php被调用.此脚本现在必须弄清楚它应该做什么并输出一些响应.这个脚本实际上可以调用PHP函数,例如:
// myscript.php
include 'functions.php'
echo generateCode();
Run Code Online (Sandbox Code Playgroud)
因此,无论何时请求URL http://exmaple.com/myscript.php,您都将获得该函数的输出generateCode().您可能会注意到,这与使用Web浏览器访问URL时的工作方式相同.那是因为这是使用HTTP协议通过Web服务器运行代码的唯一机制,因此Javascript可以"调用PHP函数"的唯一方法.Javascript没有直接调用PHP函数的秘密后门.
希望这可以帮助.
我在JavaScript中做的是我传递我要调用的PHP函数名.喜欢..
function MyFunction() {
jQuery.ajax({
type: "GET",
url: "function.php",
data: "call=generateCode",
success: function(response){
//do something
});
}
Run Code Online (Sandbox Code Playgroud)
这里的数据字段"call"变量具有从"function.php"文件调用的函数名.
在"function.php"中,我在下面的代码中调用该函数
if($_SERVER['REQUEST_METHOD']=="GET") {
$function = $_GET['call'];
if(function_exists($function)) {
call_user_func($function);
} else {
echo 'Function Not Exists!!';
}
}
Run Code Online (Sandbox Code Playgroud)