后端使用Django框架来实现

1、AJAX

常规的异步传输方式,适用于大部分场景

原理:通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JS来操作DOM而更新页面

(1).AJAX的优点
<1>.无刷新更新数据
<2>.异步与服务器通信
<3>.前端和后端负载平衡
<4>.基于标准被广泛支持
<5>.界面与应用分离

(2).AJAX的缺点
<1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏
<2>.AJAX的安全问题
<3>.对搜索引擎支持较弱
<4>.破坏程序的异常处理机制
<5>.违背URL和资源定位的初衷
<6>.AJAX不能很好支持移动设备
<7>.客户端过肥,太多客户端代码造成开发上的成本

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <script src="/static/jquery-3.3.1.js"></script>
 7 </head>
 8 <body>
 9     <div id="div1">
10         用户名:<input type="text" id="id_username"></br>
11         密码:<input type="password" id="id_password"></br>
12         <input type="button" id="id_submit" value="submit" onclick="ajax()"></br>
13     </div>
14 
15 <script>
16     
17     function ajax() {
18         var username = document.getElementById('id_username');
19         var password = document.getElementById('id_password');
20         var div1 = document.getElementById('div1');
21         var div_u = document.createElement('div');
22         var div_p = document.createElement('div');
23         // 新建XMLHttpRequest对象
24         var req = new XMLHttpRequest();
25         // 状态发生变化时,函数被回调
26         req.onreadystatechange=function () {
27             //状态码为4代表请求完成
28             if (req.readyState==4&&req.status==200) {
29                 data = req.responseText;
30                 data = JSON.parse(data);
31                 div_u.innerText = data.username;
32                 div_p.innerText = data.password;
33                 div1.appendChild(div_u);
34                 div1.appendChild(div_p);
35             }
36         };
37         //post方式建立连接
38         req.open('post','http://127.0.0.1:8000/ajax',true);
39         //post请求的编码方式,这是浏览器的原生 form 表单的默认编码方式
40         req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
41         //发送请求
42         req.send("username="+username.value+"&password="+password.value);
43     }
44 </script>
45 </body>
46 </html>
AJAX前端(原生JS)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-04-27
  • 2021-09-12
  • 2021-05-30
猜你喜欢
  • 2021-12-26
  • 2021-12-18
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
相关资源
相似解决方案