在 HTML 中自动完成 ERROR 404(使用 ASP.NET 和 JQuery)

Posted

技术标签:

【中文标题】在 HTML 中自动完成 ERROR 404(使用 ASP.NET 和 JQuery)【英文标题】:Auto complete ERROR 404 in HTML (using ASP.NET and JQuery) 【发布时间】:2020-12-29 08:56:45 【问题描述】:

由于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 &amp;&amp; s.data ) || null );

我被这个问题困扰了一段时间,所以任何帮助都会很棒,在此先感谢 :D

【问题讨论】:

您今天(或昨天)早些时候不是问过这个确切的问题吗?因为我相信其他一些用户评论说这个网址SearchController.cs/GetSearch 是错误的。 那么我应该改变什么来解决这个问题,我试着把 Search/GetSearch 但无济于事 【参考方案1】:

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

【讨论】:

所以我应该更换控制器? 您使用的是控制器吗?是的,你不需要在你的请求中添加扩展文件。我的意思是,删除 .cs url:“API/SearchController/GetSearch”。如果您认为您正在使用 WebForm 项目,因为您添加了属性 WebMethod。在 MVC 项目上,您不需要添加 WebMethod 属性。您应该添加属性 ApiController 并在需要时设置 Route。

以上是关于在 HTML 中自动完成 ERROR 404(使用 ASP.NET 和 JQuery)的主要内容,如果未能解决你的问题,请参考以下文章

Nginx自定义404页面

nginx自定义404页面?

springboot错误统一处理

Spring Boot访问HTML页面报404错误Whitelabel Error Page

.htaccess 文件找不到 404 ErrorDocument

GET request 404 error (not found) 这是我在调用同一文件夹中存在的文件时遇到的错误