ajax异步请求的几种常用方法


一、原生试

  //设置浏览器的兼容性

    function createXmlHttp() {  
        var xmlHttp = null;  
           
        try {  
            //Firefox, Opera 8.0+, Safari  
            xmlHttp = new XMLHttpRequest();  
        } catch (e) {  
            //IE  
            try {  
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");  
            } catch (e) {  
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
            }  
        }  
           
        return xmlHttp;  
    } 

 

  //ajax异步提交请求

  function submit(){

       var xmlHttp = createXmlHttp();  
           if(!xmlHttp) {  
              alert("您的浏览器不支持AJAX!");  
              return 0;  
           }  
           var url = ' ';
          var postData = "";  
          postData ="departmentId="+ codes;   //需要传递的参数        
          xmlHttp.open("POST", url, true);  
          xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
          xmlHttp.onreadystatechange = function() {  
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {     
                if(xmlHttp.responseText) {  //请求成功后的回调函数
                       var data=xmlHttp.responseText; //返回的数据 String类型
                        var list=eval(data); //转换为Object类型
                    if(list.length>0){  

          //获取父级窗体的元素在子级页面进行赋值
                         window.opener.document.getElementById("departmentId").value = "";
                         window.opener.document.getElementById("departmentName").value= names;

         //获取父级页面的select下拉框元素
                         var position= window.opener.document.getElementById("position");
                         position.options.length=0; //清空option项的值
                         position.options.add(new Option("请选择","0")); //动态给option项添加默认值;

          //循环数据动态给option项赋值
                         for(var i = 0; i<list.length;i++){
                             //动态添加职位下拉框中的值
                              position.options.add(new Option(list[i].name,list[i].id));
                         }
                         window.close();
                    } else{
                     alert("该部门下没有职位请添加职位");
                     window.opener.document.getElementById("departmentId").value ="";
                     window.opener.document.getElementById("departmentName").value= "";
                     var position= window.opener.document.getElementById("position");
                         position.options.length=0;
                         position.options.add(new Option("请选择","0"));
                     //window.location.href = "<%=request.getContextPath()%>/positionAction.do?method=toadd";
                     window.close();
                    }               
                    
                    
                   
                } else{
                    
                    alert("删除失败");
                }
            }  
        }  
        xmlHttp.send(postData);


}

 

 

二、jquery _ajax 异步请求

   1.post异步请求

     $.post("url",{'data':data}, function(datas,status){  
                                                if(status=="success"){  

                   //请求成功操作

                    var list=eval(data); //转换为Object类型

                    for(var i = 0;i<list.length;i++){  //遍历返回的数据

                     alert(list[i]);//获取当前返回的数据

                    }
                                                    alert("操作成功!");
                                                 
                                                 }else{
                                                  alert("操作失败!");
                                                 }
                                            },'json');

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM