AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术——通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。异步和同步:客户端和服务器端相互通信的基础上
同步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。异步客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 <script type="text/javascript"> var age01 = 20; var age02 = 40 var str01 = "小明今年"+age01+"岁了,小明爸爸今年"+age02+"岁了"; // alert(str01) var str02 = `小明今年${age01}岁,小明爸爸今年${age02}岁` alert(str02) </script>当 readyState 等于 4 且状态为 200 时,表示响应已就绪
<html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>天气预报</h1> <button type="button" onclick="sendMes()">明日天气</button> </body> </html> <script type="text/javascript"> // 1. 创建AJAX对象 var xmlhttp = new XMLHttpRequest() // 2. 发送请求 function sendMes() { xmlhttp.open("GET", "http://wthrcdn.etouch.cn/weather_mini?city=西安", true); xmlhttp.send(); // 3. 接收服务端传回的JSON数据 xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var jsonstr = xmlhttp.responseText; var jsonobj = JSON.parse(jsonstr) alert(jsonobj.desc) } } } </script>简写
<script src="../JQuery/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $('button').click(function() { // $.ajax({ // type:'get' // url: 'https://autumnfish.cn/api/joke/list?' // data:{ // 'num':'2' // } // success:function(res){ // // JQuery已经把获取的json字符串转换为json对象 // alert(res.msg) // alert(res.jokes[0]) // alert(res.jokes[1]) // }, // error:function(error){ // alert("请求失败了") // console.log(error); // }, // dataType:'json' // 接收后台传回的数据类型 // }) // 简写 // $.get(url, [data], [callback], [type]) $.get('https://autumnfish.cn/api/joke/list?num=1', function(res) { alert(res.msg);alert(res.jokes[0]); }, "json"); }) </script>直接请求json数据
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $('button').click(function() { /* $.getJSON(url, [data], [callback]) * url:请求路径 * data:请求参数 * callback:回调函数 */ $.getJSON('https://autumnfish.cn/api/joke/list?num=1',function(res){ alert(res.msg); }); }) </script>