如何使用Zend框架2实现jquery自动完成?

mrj*_*per 5 jquery-ui zend-framework2

我正在寻找有关如何通过zend框架2实现jquery自动完成的示例.

根据我之前使用java和coldfusion进行自动完成的经验,http响应必须只是JSON数据.但Zend通常会附加一个布局HTML(由模块配置定义).我正在考虑使用一个空的布局文件(内容将是内容;?>)但我不确定这是否是正确的(即Zend方式)这样做.

我一直在网上搜索,但找不到任何有用的东西.

你能帮忙解决一些例子/链接/等等吗?谢谢

Cla*_*ira 0

要创建自动完成功能,您需要:

  1. 创建一个控制器以 json 形式响应,通过 get 或 post 接收参数。

public function searchAction(){
// GET
$Params = $this->params ();
$count = $Params->fromQuery ( 'count', 10 ); 
$offset = $Params->fromQuery ( 'offset', 0 );
$search = $Params->fromQuery ( 'search', null );

// Mapper
$Search = TableMapper ();
$rs = $Search->search ( search, $count, $offset )); 

//I think good idea create an restful service if you have anothers requests

header('Content-Type: application/json');
echo \Zend\Json\Json::encode ( array (
        'status' => true,
        'data' => $rs,
) );
die (); }
Run Code Online (Sandbox Code Playgroud)
  1. jQuery / Angle 收集在字段中键入的字母。

    $("#input").keyup(function(event) {
    var stt = $(this).val();
    /**
    The search is route example, you need put correct url/route
    **/
    $.get( "/search", function( response ) {
        if(response.status == true){
            $( ".result" ).html( response );
        }
    });
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. html 显示响应