javascript - JS - 构造数组 - SyntaxError : missing ] after element list

标签 javascript php jquery arrays

我正在尝试对我的数据库(位于 SQL Server 上)中的元素研究进行自动完成。

这是我的 PHP 请求:

public function getNomProduitsAutocomplete() {

    $q = '  SELECT NomProduit
            FROM Produit
            WHERE NomProduit LIKE \'a%\' OR NomProduit LIKE \'b%\'
            ORDER BY NomProduit';
    $qResults = $this->fetchAll($q);
    $numItems = count($qResults);
    $i = 0;
    //var_dump($numItems);
    $result = '[ ';

    foreach($qResults as $res){

        if(++$i === $numItems) {
            $result .= '"' .$res['NomProduit'] . '"' ;
        }
        else {
            $result .= '"' .$res['NomProduit'] . '", ';
        }
    }
    $result .= ' ]';

    return $result;
}

这里的 js 自动完成:

    $(function () {
        <?php   
            $p = new Produit(); 
            $produits = $p->getNomProduitsAutocomplete(); 
            //var_dump($produits);
        ?>
        var availableTags2 = <?php echo ($produits); ?>;
        $( "#tags" ).autocomplete({
            source: availableTags2
        });
    });

最后是自动完成的输入:

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

所有这些都工作正常,但似乎只有当数组中的元素少于 1000 个时。

它实际上适用于 700 个元素(“WHERE NomProduit LIKE\'a%\' OR NomProduit LIKE\'b%\'”,如您所见),我想获取所有元素(+/- 4 800元素)如果可能的话,不仅仅是700... 如果您有任何想法...:) 谢谢。

最佳答案

为什么您不在 getNomProduitsAutocomplete 函数中使用 josn_encode 函数?

您正在 PHP 中手动创建 javascript 数组,而是将所有 $res['NomProduit'] 收集到一个数组中,例如 $js_array,然后使用 返回 json_encode($js_array)

关于javascript - JS - 构造数组 - SyntaxError : missing ] after element list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597018/

相关文章:

php - 页面上的密码字段和 SSL 证书

javascript - 我的网站上有一个返回页面顶部的按钮,如何设置滚动回顶部的动画?

javascript - 将 HTML <select> 元素保存到变量中而不创建数组

javascript - 在python中,如何让scrapy返回隐藏元素的内容?

javascript - Angularjs 路由不会将 login.html 加载到 main.html 中?

php - 如何通过php向wordpress提交帖子

java - 转换为PDF/A并检查Linux下的合规性

javascript - 如何使用 jQuery AJAX 处理 API 调用错误?

javascript - 从 UIWebView Swift iOS 获取元素

javascript - 验证 id 是否存在在 Firebase 中被忽略