1. 程式人生 > >ExtJs 同步與非同步請求

ExtJs 同步與非同步請求

同步方式請求:(關鍵是要設定false這個引數)

var conn = Ext.lib.Ajax.getConnectionObject().conn;
    conn.open("GET", 'your url',false);
    conn.send(null);
    alert(conn.responseText);
或者
var conn = Ext.lib.Ajax.getConnectionObject().conn;
    conn.open("POST", url, false);
    conn.send("傳送到伺服器端的資訊");
    data = conn.responseText;
    alert(data);


非同步方式請求:(不論async設定true或false都不能改變預設非同步請求)

 var seletedGird = this.grid.getSelectionModel().getSelections();//獲得選中的項
            var rowid = seletedGird[0].get('id');//獲得選中第一項的id列的值
            if (rowid == null) {
                return "";
            }
             Ext.Ajax.request({    
                               url:getRootPath()+'/workflow/participatorRule/findUserIdListByRuleId.web', 
                               async: false,   //ASYNC 是否非同步( TRUE 非同步 , FALSE 同步)
                               params:{ //需要傳遞個URL的引數
                                id:rowid
                               }, 
                               success: function(response, options) {
                                   userIds = response.responseText;
                                   if(userIds==""){
                                       Ext.Msg.alert('錯誤', '參與者規則下沒有掛接使用者或崗位'); 
                                   }
                                   
                               }, 
                               failure: function(response, options) { 
                                   userIds = response.responseText;
                                   if(userIds==""){
                                       Ext.Msg.alert('錯誤', '參與者規則下沒有掛接使用者或崗位'); 
                                   }                                   
                               }   
                               
                        });