1.原生ajax

  1. <p id="name"></p>
  2. <script>
  3. /* ajax 从服务器上获取数据的一种技术 是异步的
  4. 1.创建ajax核心对象
  5. 2.与服务器建立连接
  6. 3.发送请求
  7. 4.响应
  8. */
  9. /* JSON.parse() json格式的字符串转换为json对象 */
  10. var url="https://www.easy-mock.com/mock/5d67436224fd60626abfe906/ajax/base";
  11. var xhr=new XMLHttpRequest();
  12. xhr.open('get',url,true) //true 异步
  13. xhr.send()
  14. xhr.onreadystatechange=function(){
  15. /* console.log(xhr.readyState)
  16. console.log(xhr.status) */
  17. if(xhr.readyState==4 && xhr.status==200){
  18. var res=JSON.parse(xhr.responseText);
  19. console.log(res.data.name)
  20. var name=document.getElementById("name")
  21. name.innerHTML=res.data.name;
  22. }
  23. }
  24. </script>

2.jquery-ajax

  1. <style>
  2. body{
  3. background: pink;
  4. }
  5. #loading{
  6. position: fixed;
  7. left: 0;
  8. right: 0;
  9. top: 0;
  10. bottom: 0;
  11. display: flex;
  12. justify-content: center;
  13. align-items: center;
  14. background: #fff1ce;
  15. }
  16. </style>
  1. <div id="loading">
  2. <img src="images/giphy.gif" alt="">
  3. </div>
  4. 加载成功
  5. <script>
  6. var url="https://www.easy-mock.com/mock/5d67436224fd60626abfe906/ajax/base"
  7. /* ajax传参
  8. 1.请求的地址
  9. 2.请求的方式 get,post
  10. */
  11. $.ajax({
  12. url:url,
  13. type:"get",
  14. dataType:"json",
  15. success:function(res){
  16. console.log(res)
  17. $("#loading").hide()
  18. },
  19. error:function(err){
  20. console.log(err)
  21. },
  22. beforeSend:function(){
  23. $("#loading").show()
  24. }
  25. })
  26. </script>

3.本地封装的Ajax

  1. <script>
  2. function http({url,callback,type="get"}){
  3. $.ajax({
  4. url,
  5. type,
  6. dataType:"json",
  7. success:res=>{
  8. callback(res)
  9. }
  10. })
  11. }
  12. var url="http://localhost:8080/"
  13. http(url,handleDta);
  14. console.log(res)
  15. function handleData(res){
  16. for(var key in res){
  17. var p =document.createElement("p");
  18. p.innerHTML=res[key];
  19. document.body.append(p)
  20. }
  21. }
  22. </script>

4.原生的js实现

  1. <script>
  2. /*
  3. 客户端跨域
  4. 1.jsonp跨域
  5. 2.script 因为script标签不受同源策略的限制
  6. */
  7. var url="http://douban.uieee.com/v2/movie/top250";
  8. // $.ajax({
  9. // url,
  10. // type:"get",
  11. // dataType:"jsonp", //更改数据类型
  12. // success:res=>{
  13. // console.log(res)
  14. // }
  15. // })
  16. var script =document.createElement("script");
  17. script.src=url+"?callback=handleData";
  18. document.body.append(script);
  19. function handleData(res){
  20. console.log(res)
  21. }

image.png