1

我在 JavaScript 中有以下代码:

$('input#search_user').typeahead({

            source: function(query, process) {
                    $.ajax({
                        url: 'modulos/search_user.php', 
                        type: 'POST',
                        data: 'query=' + query,
                        dataType: 'JSON',
                        async: true,
                        success: function(data) {
                            process(data);
                            console.log(data);
                        }
                    });
                }                                                             
        });

以及我的 PHP 文件中的以下代码:

 if (isset($_POST['query'])) {
    $query = $_POST['query'];
    $sql = mysql_query ("SELECT nombre FROM users_r WHERE nombre LIKE '%{$query}%'",$link);

  }

  $data = array();
  while ($row = mysql_fetch_object($sql)) 
  {
    $data[] = $row['nombre'];
  }
  echo json_encode( $data );
  mysql_close($link);

但是使用 jQuery 1.10.2 会引发以下错误:

未捕获的错误:需要本地、预取或远程之一

我该怎么办?

4

1 回答 1

2

现在可以使用下一个代码

javascript

    $(document).ready(function () 
    {
       $("input[name='search_user']").typeahead({
        name: 'nombre',
        remote: 'modulos/search_user.php?query=%QUERY'                                                          
    });
    }); // $(document).ready(function () 

.php 文件

   $query = $_GET['query'];
    $sql = mysql_query ("SELECT nombre FROM users_r WHERE nombre LIKE '%{$query}%'",$link);
    $data = array();
    while ($row =  mysql_fetch_assoc($sql)) 
    {
            $data[] = $row['nombre'];
    }
    mysql_close($link);
    echo json_encode( $data );

我的问题是每个方法,用于使用 mysql_fetch_assoc 获取列,但没有使用 mysql_fetch_object

于 2013-10-24T23:07:46.240 回答