Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.Net MVC脚本不能与控制器';默认的操作url。使用控制器/操作url时也是如此_Javascript_Ajax_Asp.net Mvc_Url_Action - Fatal编程技术网

Javascript ASP.Net MVC脚本不能与控制器';默认的操作url。使用控制器/操作url时也是如此

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

当在url中仅使用控制器名称查询mvc应用程序而不指定操作时,将呈现页面,但ajax/脚本不工作,而在url中使用操作查询同一页面时,该页面按预期工作

不工作url:-->页面呈现正常,但脚本不工作-未显示搜索结果

工作url:-->页面和脚本按预期工作-显示搜索结果

C#:


这是因为

$.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 });