PHP如何在不使用框架技术的情况下与jquery分离的实现接口对接数据交互?

我刚入门php,在练手一个小项目时,前端里用jquery写了一个接口,我在网上搜索了一下,都说用AJAX异步传递数据,ajax我懂一点,还是束手无策,具体流程是怎么样的呢?写法应该怎么样写呢?特请教各位,谢谢大家了

阅读 1.7k
2 个回答

我来举一个很简单的例子:

先从http请求说起,关于http请求,我这里不说http传输所包含的请求头、请求体、状态码这些东西,目前初学阶段也可以暂时不用关注这些。我现在讲的是我们浏览器发起http请求的时候与后端程序的交互行为。

首先我们来看,假设你在浏览器地址栏输入了:http://test.com/index.php,这个运行行为是什么样的呢,也就是浏览器像服务器发起请求,然后服务器软件,比如nginx或者Apache监听80端口,然后获取到这个请求,然后根据配置,且通过请求地址知道请求的文件是index.php这个文件,然后就会调用PHP解析程序去解析index.php这个文件里的程序,然后返回这文件里你自己编写的逻辑产生的结果。浏览器接收到,就能显示数据了。

上面的清楚了,我这里简单的说一下ajax这个东西,我不抄官方的说明,我这里用自己的话语给你解释一下,用jQuery发起一个请求相当于是隐式的向服务器发起请求,也就是说并不是通过你手动在浏览器地址栏输入地址回车请求数据的。隐式的发起请求,你不可感知,没有看到页面刷新,但是实际上已经发起请求并获取数据了。

那么我们来看一下jQuery发起ajax请求的代码:

$.ajax({
    url : 'http://test.com/test.php',// 发起请求的后端地址
    type : 'post', // 以post的形式发起请求
    data : {id:'hello'}, // 带上自己的数据id的值为hello
    dataType : 'json', // 获取到的数据以json形式返回
    success : function(responseData) {
        // 后端返回的数据是responseData
    }
});

这里我加了比较清晰的注释,大致就是向后端发起请求,然后后端返回json的数据。那么我编写这个test.php文件

$response = [
    'name' => 'This is name',
    'age' => 18
];
echo json_encode($response); // 把数组转换成json输出给前端

基本上以上就是个比较完整的例子了,有啥不理解的请留言。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题