1. 程式人生 > >extjs使用AJAX呼叫方法結束不給返回值賦值問題解決

extjs使用AJAX呼叫方法結束不給返回值賦值問題解決

   ExtJS中通過Ext.Ajax.request請求想返回值,可是總獲取不到,只有一種情況使用debugger才行,後來通過網上說Ext.Ajax.request預設是非同步的改成同步的就OK了,需要加async:false屬性,測試發現還是行不通;又使用全域性變數賦值的方式,還是不行,沒辦法,使用另外一種辦法解決,程式碼如下:

webpagefileView.isRecordChanged = function(record){
 var isChanged = true;
 var conn = Ext.lib.Ajax.getConnectionObject().conn;   
    conn.open("get", 'pageedit/webpage-file!get.do?id='+record.data.id,false); 
    conn.send(null);    
  // 成功狀態碼為200 
 if (conn.status == "200") { 
  if (Ext.util.JSON.decode(conn.responseText).data.isLocked != null ){
   if(Ext.util.JSON.decode(conn.responseText).data.isLocked != record.data.isLocked){
    isChanged = false;
   }
  }
  if (Ext.util.JSON.decode(conn.responseText).data.status != null ){
   if(Ext.util.JSON.decode(conn.responseText).data.status != record.data.status){
    isChanged = false;
   }
  }
 }
 return isChanged;
}