<script>
/*
open的第三个参数可以配置
==>默认是true表示异步
==>可以选填false表示同步
分析四和步骤
1、创建ajax对象,同步代码
2、配置请求信息,同步代码
3、发送请求,异步代码,当执行到这句话的时候,先把请求发出去
=>等到响应的过程是异步
4、事件,会在满足条件的时候触发
=>条件:响应回来
异步执行的时候
console.log('start')
1、创建ajax对象
2、配置请求信息
3-1、把请求发出去
4、绑定事件,请求完成的事件
console.log('end')
3-2、响应回到客户端,触发事件
console.log('响应体')
同步执行的时候
console.log('start')
1、创建ajax对象
2、配置请求信息
3-1、把请求发出去(同步)
3-2、响应回到客户端,不会触发事件,因为事件还未绑定
4、绑定事件,事件不会触发了
console.log('end')
=>如果想接收到响应,需要在send之前绑定事件
结论:
=>同步的时候,时间必须写在send之前
=>异步的时候,事件写在前面后面无所谓
=>书写ajax的时候,按照1 2 4 3 的步骤写
*/
/* console.log("start");
//创建一个ajax实例化对象
const xhr = new XMLHttpRequest();
//console.log(xhr);//XMLHttpRequest
//2、配置本次请求信息
xhr.open("GET", "get.php");
//3、把这个请求发送出去
xhr.send();
//接受结果
xhr.onload = function () {
console.log(xhr.responseText);
};
console.log("end"); */
console.log("start");
//创建一个ajax实例化对象
const xhr = new XMLHttpRequest();
//console.log(xhr);//XMLHttpRequest
//2、配置本次请求信息
xhr.open("GET", "get.php", false);
//接受结果
xhr.onload = function () {
console.log(JSON.parse(xhr.responseText));
};
//3、把这个请求发送出去
xhr.send();
console.log("end");
</script>
<?php
//谁请求我我就输出谁
$arr = array(
"user" => "zhangsan",
"age" => 18
);
echo json_encode($arr);
?>