ASP.NET MVC Jquery Server功能无法正常运行

时间:2016-11-03 20:36:51

标签: javascript asp.net asp.net-mvc

我尝试加载表并在加载后将其放入页面中,因此html页面中的JQuery代码为: -

    $(document).ready(function () {
    $.ajax({
        type: "POST",
        url: '@(Request.RawUrl + "/getcomment")',
        dataType: "html",
        data: '',
        contentType: "application/json; charset=utf-8",
        success: function (response) {
            $("#tblComments").html(response);
        },
        error: function (response) {
        }
    });

});

在控制器中,我有

        [HttpPost]
    public string getcomment()
    {

        return "<table><tr><td>Name</td><td>MiscellaneousUser</td></tr></table>"; 
    }

然而,当页面运行时,不是将表加载到div tblCOmments中,而是将整个页面加载到分区中。我使用的路线命令是: -

routes.MapRoute("OneRule", "page/{id}/{misc}", new { Controller = "document", action = "Index", misc = UrlParameter.Optional });

如何解决getcomment,我调试时不会触发,View执行但控制器不是。

1 个答案:

答案 0 :(得分:0)

根据你添加的这条路线,这将是“文件”控制器和“索引”方法。 Route缺少Action方法规定,它将“index”作为要命中的动作方法。

<强>更新

我尝试了相同的路线和代码,并且能够重现问题。有很多问题。首先,路线是错误的。就像我之前提到的,action方法不是你当前路由的一部分,getcomment()永远不会被调用,直到你修改你的死记硬背,

 routes.MapRoute("OneRule", "page/{id}/{misc}/{action}", new { Controller = "document", action = "Index", misc = UrlParameter.Optional });

因此,当您通过Ajax发布时,您有一条处理URL的路由。