【发布时间】:2020-09-24 08:03:05
【问题描述】:
我正在开发一个 ASP.NET MVC 应用程序。
我的部分观点是通过 AJAX 调用的。当我在本地机器上执行应用程序时,它工作正常。但是当我将它移动到服务器时,它会抛出这个错误:
POST https://company.co.in/Home/tbl 404(未找到)。
即无法调用控制器中的动作方法。
我使用了网络上的jQuery CDN,然后下载并在我的代码中本地引用它,但问题仍然存在
控制器代码:
[AjaxChildActionOnly]
public PartialViewResult tbl(List<fer> val)
{
}
客户端代码:
$(document).on("click", "#btncase", function (e) {
$.ajax({
type:"POST",
url:"/Home/tbl",
data:JSON.stringify(vals),
contentType:"application/json; charset=utf-8",
datatype:"json",
success:function(r){
},
failure: function(){
alert("Error");
}
});
任何关于如何解决它的想法将不胜感激。
【问题讨论】:
-
404 表示您的网址错误。我们不知道正确的 URL 是什么,这在一定程度上取决于您如何部署应用程序,以及 AJAX 调用是从哪个视图进行的。我们看不到这两件事。如果此 $.ajax 代码位于 cshtml 视图页面中,那么我建议使用 @Url.Action 帮助器让 MVC 为您正确构建 URL。如果没有,那么您需要自己解决。猜测一下,试试
Home/tbl而不是/Home/tbl(这样你就有一个相对于当前位置的 URL,而不是站点根目录)——这有时会导致问题,具体取决于 IIS 站点的布局。 -
(顺便说一句,这与您托管 jQuery 脚本文件的位置无关。我不确定您如何得出可能相关的结论)。
标签: javascript c# jquery ajax asp.net-mvc