使用AJAX发送信息,错误“ mycustompage.htm?aspxerrorpath =“

时间:2018-09-19 15:31:43

标签: javascript .net ajax model-view-controller

我使用Javascript和AJAX在.NET MVC项目中发送一些信息。下面的代码在我的本地计算机上有效,但在我的服务器上无效。

var str = "/Nouvelle_Fiche" + "/" + id_fiche + "/" + id_process + "/" + type_process + "/" + id_impact + "/" + id_auteur + "/" + id_situation + "/" + questionnaires;

xmlhttp.open("POST", str, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send();

我在行“ xmlhttp.send();”处出现错误“ 404 Not Found”。因为它将添加到我的链接“ mycustompage.htm?aspxerrorpath = ”,所以我有:  “ mycustompage.htm?aspxerrorpath = / Nouvelle_Fiche / 17/13766 / I / 43/1162/1/2 _”

你能帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

要点MVC控制器无法理解您要调用的内容。 我相信您的路由配置如下所示:

routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}/{process}/{typeprocess}/{impact}/{auteur}/{situation}/{questionnaires}",
        defaults: new { controller = "Home", action = "Nouvelle_Fiche", id = UrlParameter.Optional, 
        process = UrlParameter.Optional, typeprocess = UrlParameter.Optional, 
        impact = UrlParameter.Optional, auteur = UrlParameter.Optional, 
        situation = UrlParameter.Optional, questionnaires = UrlParameter.Optional}
    );   

假设控制器名称为:“主页” ,而操作为“ Nouvelle_Fiche” ,该参数带有7个参数

然后您的请求应如下所示:

 xmlhttp.open("POST",  @Url.Action("Home", "Nouvelle_Fiche", new { id = id_fiche, 
    process = id_process , typeprocess = type_process, 
    impact = id_impact, auteur = id_auteur, 
    situation = id_situation, questionnaires = questionnaires  }), true);
 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 xmlhttp.send();
相关问题