Gar*_*nay 4 javascript php ajax jquery
到目前为止,在创建AJAX请求时,我一直在发布到单独的PHP文件中.是否可以创建一个调用PHP函数而不是发布到单独页面的jQuery AJAX请求?
如果你能给我发送任何例子或文件会很棒.
Nul*_*ion 54
我相信对这项技术如何运作有一个根本的误解.
AJAX(Javascript),Flash或任何客户端技术都无法直接调用PHP函数(或在服务器上运行的其他语言).这也适用于反过来(例如:PHP无法调用JS函数).
客户端和服务器代码驻留在不同的计算机上,它们通过HTTP协议(或您拥有的)进行通信.HTTP的工作方式大致如下:

客户端(例如:浏览器)发送REQUEST - > Server进程请求并发送RESPONSE - > Client获取并显示和/或处理响应
您必须将这些请求和响应视为消息.消息不能直接调用服务器端语言上的函数1,但可以提供足够的信息来执行此操作并从服务器获取有意义的消息.
所以你可以有一个处理和分派这些请求的处理程序,如下所示:
// ajax_handler.php
switch ($_POST['action']) {
case 'post_comment':
post_comment($_POST['content']);
break;
case '....':
some_function();
break;
default:
output_error('invalid request');
break;
}
Run Code Online (Sandbox Code Playgroud)
然后让您的客户端使用正确的参数向此集中处理程序发送请求.然后处理程序决定在服务器端调用哪些函数,最后它将响应发送回客户端.
1从技术上讲,存在远程过程调用(RPC),但这些调用可能会变得混乱.
AJAX请求调用URL(发出HTTP请求),而不是文件,在大多数情况下,URL由服务器转换为指向文件(或者您的情况下是PHP脚本),但是从HTTP请求发生的所有事情都发生了收到的响应取决于您(在您的服务器上).
有许多PHP框架将URL映射到特定的php函数,AJAX只是一种访问URL并接收响应的异步方式.
所述URL CAN触发服务器调用特定功能并发回响应.但是由您自己构建URL和服务器端代码.