0

Web サイトの検索テキストボックスをオートコンプリートするために、次のコードを使用しています。コードは 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;
        }
    }
}
4

1 に答える 1

0

ajaxリクエストでURLを確認する必要があると思います。次の構文を使用してみてください。

url: "./Index.aspx/GetAutoCompleteData",
于 2013-09-05T21:58:29.620 に答える