Javascript ASP.Net MVC脚本不能与控制器';默认的操作url。使用控制器/操作url时也是如此
当在url中仅使用控制器名称查询mvc应用程序而不指定操作时,将呈现页面,但ajax/脚本不工作,而在url中使用操作查询同一页面时,该页面按预期工作 不工作url:-->页面呈现正常,但脚本不工作-未显示搜索结果 工作url:-->页面和脚本按预期工作-显示搜索结果 C#:Javascript ASP.Net MVC脚本不能与控制器';默认的操作url。使用控制器/操作url时也是如此,javascript,ajax,asp.net-mvc,url,action,Javascript,Ajax,Asp.net Mvc,Url,Action,当在url中仅使用控制器名称查询mvc应用程序而不指定操作时,将呈现页面,但ajax/脚本不工作,而在url中使用操作查询同一页面时,该页面按预期工作 不工作url:-->页面呈现正常,但脚本不工作-未显示搜索结果 工作url:-->页面和脚本按预期工作-显示搜索结果 C#: 这是因为 $.getJSON('GetMatchingResults/', { 'filter': filter }); 在第一种情况下,尝试点击/GetMatchingResults,第二种情况下尝试点击/search
这是因为
$.getJSON('GetMatchingResults/', { 'filter': filter });
在第一种情况下,尝试点击/GetMatchingResults,第二种情况下尝试点击/search/GetMatchingResults。修复方法可能是使用
$.getJSON('/search/GetMatchingResults/', { 'filter': filter });
或者更好的方法是从HTML助手生成路径,如果您更新路由规则,该路径将正确路由。这看起来像
$.getJSON('@Url.Action("GetMatchingResults", "Search")', { 'filter': filter });
它需要是
$.getJSON('/Search/GetMatchingResults',..
(前导斜杠)。您应该始终使用'@Url.Action(“GetMatchingResults”,“YourControllerName”)
来生成正确的Url谢谢。使用@Url.Action进行修复
$.getJSON('GetMatchingResults/', { 'filter': filter });
$.getJSON('/search/GetMatchingResults/', { 'filter': filter });
$.getJSON('@Url.Action("GetMatchingResults", "Search")', { 'filter': filter });