什么是ajax交互的良好Web服务?在Zend Framework上下文?

时间:2012-05-02 16:44:41

标签: ajax web-services zend-framework

当您设计一个将使用javascript和ajax与您的服务器进行交互的页面时,您应该使用哪种最佳技术?

使用的意思基本上就是为简单的CRUD发送和接收数据,以及自动完成和搜索等内容。

我经常编写自己的服务器,我读取$ _POST变量,并使用Jquery的jQuery.post()将内容发送到服务器并读取内容。

我想知道是否应该使用更标准的协议,例如:

  • XML_RPC
  • REST
  • SOAP
  • JS​​ON_RPC

请告诉我,我是否应该使用这些或其他任何东西,并证明您对哪种协议/技术更适合这类事情的回应是合理的。

1 个答案:

答案 0 :(得分:0)

我倾向于使用REST / JSON,因为在大多数情况下它是最简单和最快的。我讨厌XML解析,Zend Framework支持非常容易地创建REST应用程序。最重要的是,如果确实需要扩展,它将允许您将视图和数据层分离到不同的服务器。我经常在同一模块中使用“常规”控制器和REST控制器,这很容易掌握。

get / post / put / delete操作对应于HTTP请求类型

class MyRestController extends Zend_Rest_Controller
{

    public function init()
    {
        $this->_helper->viewRenderer->setNoRender(true);
    }

    public function indexAction()
    {
    }

    public function getAction()
    {
    }

    public function postAction()
    {
    }

    public function putAction()
    {
    }

    public function deleteAction()
    {
    }

}

然后你必须在引导程序中初始化路由:

protected function _initRestRoute()
{
        $this->bootstrap('frontController');
        $frontController = Zend_Controller_Front::getInstance();
        $restRoute = new Zend_Rest_Route($frontController);
        $frontController->getRouter()->addRoute('default', $restRoute);

}

一些轻读:

http://www.techchorus.net/create-restful-applications-using-zend-framework

http://www.xfront.com/REST-Web-Services.html

http://www.develop.com/httpstatuscodesrest