jQuery自动完成不在托管站点上工作

时间:2013-08-31 13:21:36

标签: c# javascript jquery jquery-autocomplete

我正在使用以下代码在我的网站中自动填充搜索文本框。代码在localhost上正常工作,但是当托管该站点时,会弹出“错误”框。

脚本:

$(document).ready(function () {
    SearchText();
});
function SearchText() {
    $(".autosuggest").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Index.aspx/GetAutoCompleteData",
                data: "{'location':'" + document.getElementById('ContentPlaceHolder1_txtSearch').value + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        }
    });
}

,功能代码为:

[WebMethod]

public static List<string> GetAutoCompleteData(string location)
{
    List<string> result = new List<string>();
    string connect = @"
         Data Source=jaipurrooms.db.11458954.hostedresource.com; Initial Catalog=jaipurrooms;
         User ID=xyz;
         Password=xyz;";
    using (SqlConnection con = new SqlConnection(connect))
    {
        using (SqlCommand cmd = new SqlCommand("select DISTINCT Location from Details where Location LIKE '%'+@location+'%'", con))
        {
            con.Open();
            cmd.Parameters.AddWithValue("@location", location);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                result.Add(dr["Location"].ToString());
            }
            return result;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为您必须在ajax请求中检查您的网址。尝试使用以下语法:

url: "./Index.aspx/GetAutoCompleteData",