Ext.direct比常規的Ext.ajax調用有哪些主要優點?我應該什麼時候考慮使用一個?Ext.Direct VS Ext.Ajax
13
A
回答
13
真的,這取決於您的後端,您想要做什麼以及適合您的情況。你提出的問題相當模糊,所以我的回答只能爲你恐懼。您可以做的最好的事情是查看Ext.Direct和Ext.Ajax的API頁面。 Ext.Direct是(上次我查看的)很好的記錄,就像.Ajax,但沒有太多的.Ajax。
Ext.Direct - 我在上一份工作中開始實施這項工作,總而言之,這是一個啓動和運行的PITA,但是之後的好處非常簡潔。 Ext.Direct允許您調用服務器來執行定義爲以JSON對象的形式傳遞給Ext的API的方法。然後,這些方法都暴露給你的應用程序:
// Server-side
class MyDirectRouter
{
public function GetNames(){
// Get some names from the database
return $names;
}
}
// Client-side - also, not sure on exact configs here so
// you should do your homework
var store = Ext.create('Ext.data.DirectStore', {
// blah blah configs
proxy: {
url: '/my/direct/router/GetNames',
type: 'direct'
});
這家商店將要求服務器調用該方法,服務器會給店裏的響應。 AJAX:你可以做一些巧妙的事情,並具有現成的,公開的API爲您節省大量設置自定義路線的頭痛,控制器等
Ext.Ajax的的名字說明了一切。撥打服務器上的頁面並返回響應。這裏的主要區別是這個調用一個頁面,而不是一個方法。該頁面可以做任何事情(當然也可以使用該方法),但頁面負責格式化輸出--JSON,XML等。服務器端Direct方法也將最終格式化輸出,但通常會寫一個路由器來處理方法和輸出格式的調用。 Ext.Ajax處理起來要容易得多,因爲除了處理AJAX請求的另一端的頁面外,它幾乎不需要任何設置,而Direct需要一些後端類來處理路由,API暴露等。有插件對於不同的框架(Kohana,CodeIgnitor,可能是WordPress等)和滾動你自己不可能是困難的。爲了公平,例如Ext.Ajax的:
// Server-side - code of /ajax.php
echo(json_encode(array(
'DATA' => array(
array('id' => 3, 'name' => 'john'),
array('id' => 4, 'name' => 'Jill')
)
));
// Client-side
var store = Ext.create('Ext.data.Store', {
fields: ['id', 'name'], // You should really use a model
proxy: {
type: 'ajax',
url: '/ajax.php',
reader: {
type: 'json',
root: 'DATA'
}
}
});
我希望這給你一些觀點,但你真的應該瞭解每一件作品和應用解決方案是最適合你和你的情況。閱讀兩者的Ext API頁面是一個很好的開始,示例頁面提供了兩個示例。
相關問題
- 1. Ext.Direct Form Integration
- 2. Ext.direct緩衝區
- 3. 如何擴展Ext.Ajax?
- 4. Android上的Ext.ajax超時
- 5. 獲取Ext.Ajax沒有定義
- 6. ExtJS的形式使用Ext.DIrect
- 7. extJS4 Ext.Ajax和Ext.data.proxy.Ajax之間的區別
- 8. XmlHttpRequest2進度事件和ExtJS 3.3 Ext.Ajax
- 9. ExtJS 4.2.0:Ext.Direct和命名空間
- 10. Ext.Direct:將返回值與調用匹配
- 11. ext.direct網格分頁不起作用
- 12. ExtJS 4.2.2:Ext.Direct回撥/ JSON寫入器
- 13. ASP.NET MVC 3 ModelState.IsValid始終使用Ext.Direct
- 14. Ext.application和Ext.direct:數據不會顯示
- 15. 在sencha touch中爲ext.ajax請求添加成功回調參數
- 16. 如何使用Ext.Ajax向jsFiddle的回顯API發出AJAX請求?
- 17. 無法在Sencha-Touch2中使用Ext.Ajax運行JavaScript?
- 18. Ext.Direct文件上傳 - 表單提交的類型application/json
- 19. Ext.Direct Pack和Ext.Air Pack之間的主要區別是什麼
- 20. 試圖獲得響應從服務器與sencha的Ext.Ajax調用2
- 21. 重寫defaultHeaders和方法不工作Ext.Ajax的覆蓋與煎茶6.2
- 22. Ext.grid.Panel在Ext 4中無法從Ext.Direct代理存儲中加載數據
- 23. vs vs 2008 vs vs 2010
- 24. Exec的VS ExecWait VS ExecShell VS nsExec :: Exec的VS nsExec :: ExecToLog VS nsExec :: ExecToStack VS ExecDos VS ExeCmd
- 25. FTP vs SFTP vs HDFS vs NTFS vs EXT2,EXT3
- 26. VS VS VS VS 11中的MVC測試
- 27. CGL vs AGL vs OpenGL vs NSOpenGL vs CoreAnimation(CALayer)
- 28. MobileNet VS SqueezeNet VS ResNet50 VS啓V3 VS VGG16
- 29. NTOSKRNL.EXE VS NTKRNLMP.EXE VS NTKRNLPA.EXE VS NTKRPAMP.EXE
- 30. VS 2008 vs VS 2008 Express
夫婦投票了,但沒有真正的答案:)什麼是你的服務器端?在我們的項目中,我們有微軟RIA服務和MSSQL數據庫,所以要麼使用Ajax接口......但我沒有很好的比較優點/缺點等等...... – sha 2012-03-12 15:35:03
@sha我們正在運行LAMP堆棧。 – 2012-03-12 16:01:36
看起來你不會在這裏得到很多答案 - 可能想在sencha論壇上發佈這個問題... – sha 2012-03-13 02:45:19