使用jQuery AJAX调用PHP函数

我已经阅读了有关我的问题的所有主题,但无法解决我的问题。 我想用jQuery AJAX获取php函数结果。

function.php

function generateCode() { //code here } function generateResult() { //code here } 

如何使用jQuery AJAX捕获函数结果? 我不想改变function.php结构,因为它与另一个页面有关。

请参阅使用jquery $ .ajax来调用PHP函数 ,没有答案可以解决我的问题。 谢谢

要几乎直接使用PHP类和函数,可以使用xajax 。

你不能从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(); 

因此,无论何时请求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 }); } 

这里的数据字段“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!!'; } } 

JQuery的

 $.ajax({ url: "script.php", type: "POST", data: "id=1", success: function(msg){ alert(msg); } } 

PHP

  

你将从$.ajax success状态获得msg php函数结果。