废话不多说,直接上代码,一个简单的例子
<!-- 先加载jquery -->
<script src="./js/jquery.js"></script>
<script>
// 一个简单例子,向demo.php传两个数1和2,php将相加的结果返回
getAjax();
// ajax请求的函数
function getAjax(){
$.ajax({
url:'./server/demo.php', //请求的地址 我的demo.php在server文件夹下
data:{ // 传给后台的数据
num1:1, // 数字 1
num2:2, // 数字 2
},
type:'get', //传输方式
dataType:'json', //传输文件类型为json
success:function(res){ //请求成功时执行的函数,res代表请求来的数据,即相加的结果
console.log(res);
}
})
}
后台demo.php
<?php
$num1 = $_GET['num1']; //从前端传过来的数据 get方式
$num2 = $_GET['num2']; //从前端传过来的数据 get方式
$num3 = $num1 + $num2;
echo json_encode($num3); //以json格式返回结果
结果:
从结果可以看出前端确实将data中的1和2传给了demo.php,而php也实现了相加并将结果返回,前端接收到结果并打印出了3.
下面是详细的用法
$.ajax({
type:'GET', //请求的类型,GET、POST等
url:'www.baidu.com', //向服务器请求的地址。
contentType:'application/json', //向服务器发送内容的类型,默认值是:application/x-www-form-urlencoded
dataType:'JSON', //预期服务器响应类型
async:true, //默认值是true,表示请求是异步的,false是同步请求,同步请求会阻碍浏览器的其他操作(不建议使用)
timeout:'5000', //设置本地的请求超时时间(单位是毫秒)
cache:true, //设置浏览器是否缓存请求的页面
success:function(result,status,XMLHttpRequest){ //请求成功是执行的函数,result:服务器返回的数据, status:服务器返回的状态,
},
error:function(xhr,status,error){ //请求失败是执行的函数
},
complete:function(xhr,status){ //不管请求失败还是请求成功,都执行的函数
}
})