【问题标题】:getting error on server jquery.min.js:2 POST https://company.co.in/Home/tbl 404 (Not Found)在服务器 jquery.min.js:2 POST https://company.co.in/Home/tbl 404 上出现错误(未找到)
【发布时间】: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


【解决方案1】:

如下更新您的代码,让框架重新加载您的 URL。使用@Url.Action("Controller","Action")

$(document).on("click", "#btncase", function (e) { 
    $.ajax({
        type:"POST",
        url:'@Url.Action("Home","tbl")',
        data:JSON.stringify(vals),
        contentType:"application/json; charset=utf-8",
        datatype:"json",
        success:function(r){
        },
        failure: function(){
            alert("Error");
        }
    });  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2017-09-26
    • 2021-06-24
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多