【问题标题】:Razor pages text autocomplete error 404 not found未找到 Razor 页面文本自动完成错误 404
【发布时间】:2019-06-17 15:19:00
【问题描述】:

我查看了许多实现 jQuery 自动完成功能的示例。其中大多数原因:

jquery-1.10.2.js:8706 GET /AddApplication/GetURL?term=s 404(未找到)

我对 jQuery 不是很有经验,我认为这个错误意味着路径错误?

我正在使用 c# 和 razor 页面。

AddApplication.cshtml.cs类:

    [System.Web.Mvc.HttpGet]
    public System.Web.Mvc.JsonResult GetURL(string term)
    {

        System.Web.Mvc.JsonResult result = new 
        System.Web.Mvc.JsonResult();

        var urls = (from c in db.Url
                    where c.UrlName.StartsWith(term)
                    select new {c.UrlName});

        result.Data = urls;
        result.JsonRequestBehavior =  JsonRequestBehavior.AllowGet;
        Console.WriteLine("---------"+result);
        return result;
    }

AddApplication.cshtml剃须刀前端:

<div>
     <input type="text" name="url" id="url" placeholder="Search for a URL" 
      autocomplete="on">
</div>

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/start/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<script type="text/javascript">
    $(function () {
        $("#url").autocomplete({
            source: "@Url.Action("GetURL","AddApplication")",
            minLength: 1,
            select: function (event, ui) {
                if (ui.item) {
                    $("#url").val(ui.item.value);
                    $("form").submit();
                }
            }
        });
    });
</script>

据我所知,我已经尝试在脚本中使用 ajax 函数,但仍然无法正常工作。

【问题讨论】:

  • 该错误确实意味着路径不正确。包含GetURL() 的控制器类的名称是什么?我假设它是AddApplicationController?你的路由是怎么配置的?可能值得在视图中使用@Url.Action("GetURL", "AddApplication"); 以确保路径有效。
  • @RoryMcCrossan 添加 Url Action 摆脱了 404。谢谢,但它现在什么也没做......所以我添加了 -> 来源:“@Url.Action("GetURL","AddApplication" )",
  • 控制台中没有其他错误?您可能没有以自动完成所需的格式返回 JSON
  • 控制台很好,我什至在我的后端有一个控制台写入行,如果调用该方法会命中。我也没有控制器类,只是剃须刀后端
  • 即使调试并向我的 GetURL 方法添加断点,断点也不会被命中

标签: javascript c# jquery razor


【解决方案1】:

感谢 Rory 为我提供修复。

source:"/AddApplication/GetURL"更改源

source: "@Url.Action("GetURL","AddApplication")"

这解决了 404 not found 错误

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 2012-09-15
    • 2015-06-22
    • 2021-04-04
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    相关资源
    最近更新 更多