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