jQueryUI自动完成返回404

时间:2013-07-30 20:17:03

标签: jquery ajax autocomplete http-status-code-404

我正在尝试创建一个自动完成输入框,当您单击内部键入时,从数据库加载自动完成单词列表。我通过AJAX调用从数据库中获得单词list loading,但当我将其传递给自动完成函数时,它开始返回404。

我不知道为什么我的警报中的数据显示正常,但是无法正常自动完成?

$(document).ready(function() {
    $("#tags").click(function() {
        $.ajax({ 
            url: 'get_players.php', 
            success: function(data){
                alert(data); // This returns the correct string.
                $("#tags").autocomplete({
                    source: data
                });
            }
        });
    });
}); // END Document.ready.

更新:数据以字符串形式返回(我认为)。我想将它用于足球选秀计划,因此数据是由逗号分隔的球员标题列表。例如:

'Andy Dalton - QB Bengals', 'Adrian Peterson - RB Vikings', 'Tom Brady - QB Patriots'

这是我的get_players.php

<?php
//Connect to the Database.
$mysqli = new mysqli("localhost","username","password", "draftboard");

// Check said connection.
if ($mysqli->connect_errno)
{
    print "An error has occured."; 
}

// Get all the players.
$result = $mysqli->query("SELECT * FROM players");

if($result->num_rows > 0) {

    // For each member of the group...
    for($i = 0;  $i < $result->num_rows; $i++)
    {
        $row = $result->fetch_assoc();
        echo "'" .$row['name'] . " - " . $row['position'] . " " . $row['team']."', ";
    }
    $result->close();
}
?>

1 个答案:

答案 0 :(得分:1)

autocomplete需要一个url,数组或函数。您当前正在传递一个字符串,所以只需使用它将其转换为数组:

$("#tags").autocomplete({
    source: data.split(",")
});