• Ajax实现步骤和原理


    1.获取ajax异步对象
        IE4~IE12 : 使用new ActiveXObject("microsoft.xmlhttp");
        非IE : 使用new XMLHttpRequest();
    2.ajax.open(method,url);
        method是提交方式  有 get和post两种
        url是提交路径
    3.ajax.send()
    4.ajax.onreadystatechange 这是一个监听函数
        包括五中状态码:
            0—ajax异步对象创建完毕,但是还未发送
            1—ajax已经调用了open()方法,但是还未调用send()方法
            2—已经调用send(),但是还未到达服务器端
            3—表示请求已经到达服务端,正在服务端的处理,但是还未响应返回
            4—ajax已经完全接收了服务器的响应信息,但是状态码未必是正确的
                    状态码有:
                                    200:正确
                                    404/500:错误
                                            ps:a.每个浏览器的0,1,2,3这四种状态显示的不一样,但是4这个状态码每
                                                  个浏览器都有,所以我们只需要使用4即可
                                                    b.  0.1.2.3.4是ajax中的响应码,200/404/500是web中的状态码
    5.ajax.readyState == 4
    6.ajax.status == 200;
    7.获取值  ajax.requestText或者ajax.requestXML

    例1get:
    1. <script type="text/javascript">
    2. //定位文本框,同时提供焦点失去事件
    3. document.getElementById("usernameID").onblur = function(){
    4. //获取文本框中输入的值
    5. var username = this.value;
    6. //如果用户没有填内容
    7. if(username.length == 0){
    8. //提示
    9. document.getElementById("resID").innerHTML = "用户名必填";
    10. }else{
    11. //对汉字进行UTF-8(U8)的编码
    12. username = encodeURI(username);
    13. //NO1)
    14. var ajax = createAJAX();
    15. //NO2)
    16. var method = "GET";
    17. var url = "${pageContext.request.contextPath}/UserServlet?time="+new Date().getTime()+"&username=" + username;
    18. ajax.open(method,url);
    19. //NO3)
    20. ajax.send(null);
    21. //--------------------------------------------------------等待
    22. //NO4)
    23. ajax.onreadystatechange = function(){
    24. if(ajax.readyState == 4){
    25. if(ajax.status == 200){
    26. //NO5)
    27. var tip = ajax.responseText;
    28. //NO6)
    29. document.getElementById("resID").innerHTML = tip;
    30. }
    31. }
    32. }
    33. }
    34. }
    35. </script>
    例2:post
    1. <script type="text/javascript">
    2. document.getElementById("usernameID").onblur = function(){
    3. var username = this.value;//杰克
    4. //NO1)
    5. var ajax = createAJAX();
    6. //NO2)
    7. var method = "POST";
    8. var url = "${pageContext.request.contextPath}/UserServlet?time="+new Date().getTime();
    9. ajax.open(method,url);
    10. //设置AJAX请求头为POST,他会将请求体中的汉字自动进行UTF-8的编码
    11. ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
    12. //NO3)
    13. var content = "username=" + username;
    14. ajax.send(content);
    15. //===========================================等待
    16. //NO4)
    17. ajax.onreadystatechange = function(){
    18. if(ajax.readyState == 4){
    19. if(ajax.status == 200){
    20. //NO5)
    21. var tip = ajax.responseText;
    22. //NO6)
    23. //创建img标签
    24. var imgElement = document.createElement("img");
    25. //设置img标签的src/width/height的属性值
    26. imgElement.src = tip;
    27. imgElement.style.width = "12px";
    28. imgElement.style.height = "12px";
    29. //定位span标签
    30. var spanElement = document.getElementById("resID");
    31. //清空span标签中的内容
    32. spanElement.innerHTML = "";
    33. //将img标签加入到span标签中
    34. spanElement.appendChild(imgElement);
    35. }
    36. }
    37. }
    38. }
    39. </script>





  • 相关阅读:
    从有序的数组中查找某个值
    OJ 21658::Monthly Expense(二分搜索+最小化最大值)
    OJ 21651::Cow Hurdles(佛罗一德的变式)
    Oj 24260: Lilypad Pond (神奇广搜题,状态搜索)
    MongoDB常用语句
    MongoDB可视化工具之mongoBooster
    MongoDB的安装,mongod和mongo的区别
    数组遍历及其他方法
    MongoDB的安装与卸载与再安装
    MongoDB下载安装步骤+文件解析
  • 原文地址:https://www.cnblogs.com/jarl/p/5893041.html
Copyright © 2020-2023  润新知