自动完成功能会在ajax请求中返回错误

时间:2014-10-06 19:23:51

标签: javascript c# jquery asp.net ajax

我正在尝试在文本框中使用jQuery Autocomplete,但它无效。

这是我的脚本从数据库获取自动完成列表,但它给了我错误和警告错误消息。

$(function () {
    $("#ContentPlaceHolderSearch_txt_Search").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "Service/AutoComplete.asmx/GetCompletionListName",
                data: "{ 'prefixText': '" + request.term + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataFilter: function (data) { return data; },
                success: function (data) {
                    response($.map(data.d, function (item) {
                        return {
                            value: item
                        }
                    }))
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
            });
        },
        minLength: 2
    });
});

这是我的服务器代码

[WebMethod]
public string[] GetCompletionListName(string prefixText, int count)
{
    List<string> items = new List<string>(count);
    GA_UsersTableAdapter uta = new GA_UsersTableAdapter();
    UserControllar.GA_UsersDataTable udt = uta.GetDataByNameAutoComplete(prefixText);
    foreach (DataRow row in udt.Rows)
    {
        items.Add(row["Full_Name"].ToString());
    }
    return items.ToArray();
}

1 个答案:

答案 0 :(得分:0)

我刚从

更改了脚本中的服务路径
url: "Service/AutoComplete.asmx/GetCompletionListName"

url: "../Service/AutoComplete.asmx/GetCompletionListName"

现在有效......