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;
}