从AJAX调用PHP函数?

时间:2013-12-10 12:13:59

标签: php ajax

我正在使用很多AJAX调用,

data: {action: "get_categories", etc..}

然后在我的PHP中我会说,

if(isset($_POST['action']) && ($_POST['action'] == 'get_categories')) { 
//do stuff
}

我正在尝试重构代码,我想把这些代码块中的一个输出并传递给另一个代码块,但它不是PHP函数,所以我不太确定怎么做?有没有办法直接从AJAX调用调用PHP函数,而不是使用动作?

另外,在使用这种样式的PHP代码块时,我必须在每个代码块中调用下面的代码,我不确定为什么?我想如果我把它放在我的php文件的顶部,并使用了可能有效的require_once,但除非我在每个代码块中包含这些内容,否则我尝试无效。

require("config.php");
require("database.php");

1 个答案:

答案 0 :(得分:1)

不,你不能从客户端Javascript调用PHP函数。首先,请确保您理解这一点:What is the difference between client-side and server-side programming?。完成此操作后,您将看到执行任何服务器端的唯一方法是通过AJAX HTTP调用,这是对任何其他PHP脚本将使用的网站的常规请求。 HTTP没有“函数”的概念或任何特定的编程语言。您可以使用HTTP 请求网址,仅此而已。请求这些URL时,您可以执行PHP代码来处理这些请求。每个新请求完全独立于所有其他请求,因此每个请求都是独立的脚本执行,需要自己的包含和要求。

在浏览器的开发工具(Chrome / Safari Web Inspector,Firebug或类似工具)中打开网络检查器标签,并观察您的AJAX请求来回与服务器。这应该比任何解释都要好得多。