首页 > 解决方案 > 在 HTML 中自动完成 ERROR 404(使用 ASP.NET 和 JQuery)

问题描述

出于某种原因,在 asp.net 项目中,我的自动完成功能不起作用,我尝试了与在数据连接中使用数据源不同的方法,但无济于事。我已经为它创建了一个名为 Diagnose 的数据库,但由于某种原因,它在 jquery 上显示错误 404。

这是我的 HTML 代码:

<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js"></script>
<script>
    $(function () {
        $("#search-diagnosis").autocomplete({
            source: function (request, response) {
                var param = {
                    searchdetails: $('#search-diagnosis').val()
                };
                $.ajax({
                    url: "SearchController.cs/GetSearch",
                    data: JSON.stringify(param),
                    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 } }))
                    },
                });
            },
            minLength: 1
        });
    });
</script>


<div class="search">
    <input id="search-diagnosis" class="w-75" type="text" placeholder="Start typing your diagnois...">
</div>

这是CS代码:

[WebMethod]
public static List<string> GetSearch(string searchdetails)
{
    List<string> search = new List<string>();
    string mainconn = ConfigurationManager.ConnectionStrings["mybase.database"].ConnectionString;
    SqlConnection sqlconn = new SqlConnection(mainconn);
    string sqlquery = string.Format("select Name from [dbo].[Diagnose] where Name LIKE '%{0}%'", searchdetails);
    sqlconn.Open();
    SqlCommand sqlcomm = new SqlCommand(sqlquery, sqlconn);
    SqlDataReader sdr = sqlcomm.ExecuteReader();
    while (sdr.Read())
    {
        search.Add(sdr.GetString(0));
    }
    sqlconn.Close();
    return search; 
}

它显示错误:

这个错误 当我打开它时,jquery-1.8.0.js:8214它显示给我这个xhr.send( ( s.hasContent && s.data ) || null );

我在这个问题上停留了一段时间,所以任何帮助都会很棒,在此先感谢:D <3

标签: htmljqueryasp.netautocompletehttp-status-code-404

解决方案


它返回 404 未找到。我认为 GetSearch 应该在 aspx 或 ascx 文件中。Webmethod 在 System.Web 上下文中工作,在某些时候它需要 Page。


推荐阅读