0

在我的应用程序中,我在搜索输入上创建了一个自动完成功能。当我从我的数据库返回数据时,它会向我没有添加名为“searchForm”的数组添加一个额外的键:{}'。

<li>由于这个额外的键,我的自动完成菜单中为空

我的行动:

 public function autocompleteAction()
    {
        $term     = $this->params()->fromQuery('term');     
        $results  = $this->getWebsiteTable()->searchSites($term, 6);

        foreach ($results as $website)
        {
            $data[] = array('label' => $website->hostname);
        }

        $json = new JsonModel($data);
        return $json;
    }

JSON输出:

{
    "0": {
        "label": "tumblr.com"
    },
    "1": {
        "label": "tumbleweedtreasures.etsy.com"
    },
    "2": {
        "label": "tumblrenchantment.googlecode.com"
    },
    "3": {
        "label": "tumblring.net"
    },
    "4": {
        "label": "tumbleweedhouses.com"
    },
    "5": {
        "label": "tumblebooks.com"
    },
    "searchForm": {}
}

这把searchForm钥匙从哪里来?以及如何删除它?

4

1 回答 1

0

由于在应用程序模块中设置了一个静态搜索表单,它可能尝试将此 searchForm 包含在 ajax 模块 aswel 中。从应用程序模块中删除了 searchForm 并将其设置在需要的特定模块中。

于 2013-06-01T07:36:38.483 回答