与typeahead,php和jquery 1.10.2冲突

时间:2013-10-24 12:49:50

标签: javascript php jquery mysql

我在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会引发以下错误:

  

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

我该怎么办?

1 个答案:

答案 0 :(得分: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