Ext.direct与常规Ext.ajax调用的主要优点是什么?我什么时候应该考虑使用一个?
真的,这取决于你的后端,你想做什么,什么适合你的情况.你提出的问题相当模糊,所以我的答案只能为你而烦恼.您可以做的最好的事情是查看Ext.Direct和Ext.Ajax的API页面. Ext.Direct是(最后一次看)非常好的记录,同样.Ajax但是没有太多的.Ajax.
原文链接:https://www.f2er.com/ajax/160101.htmlExt.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' });
商店将要求服务器调用所述方法,服务器将给予商店响应.您可以做一些整洁的事情,并拥有一个易于使用和暴露的API可以节省您设置自定义路线,控制器等方面的头痛.
Ext.Ajax该名称全部表示: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页面是一个很好的起点,而样品&演示页面功能的两个例子.