Jquery 为什么';MVC中的ajax调用后控制器方法?

Jquery 为什么';MVC中的ajax调用后控制器方法?,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我已经阅读了几乎所有关于Ajax的问题。我已经尝试了我在这里看到的每一个解决方案。尽管如此,我的帖子仍然不起作用。因此,请不要认为它是一个复制品,至少在我得到答案之前。 public class BlogController : Controller { [HttpPost] public ActionResult Test(BlogElement data) { return null; } public class BlogE

我已经阅读了几乎所有关于Ajax的问题。我已经尝试了我在这里看到的每一个解决方案。尽管如此,我的帖子仍然不起作用。因此,请不要认为它是一个复制品,至少在我得到答案之前。
public class BlogController : Controller
    {
    [HttpPost]
    public ActionResult Test(BlogElement data)
    {
        return null;
    }

    public class BlogElement
    {
       public string HtmlContent { get; set; }
       public string Date { get; set; }
    }
还有Ajax部分

var data_ = { HtmlContent: "someContent", Date: "someDate" }
    $.ajax({
        type: "POST",
        url: "/Blog/Test",
        dataType: "json",
        data:data_ 
    });
Ajax响应错误显示“未找到”。 这是我的路线配置。我实际上只使用属性路由

routes.MapMvcAttributeRoutes();

此配置可能有什么问题?

显然,在
routeConfig
中调用
mapmvcatteroutes()
并不意味着默认的
{controller}/{action}
路由也将被注册

要么添加它:

routes.MapRoute(
   name: "Default",
   url: "{controller}/{action}/{id}",
   defaults: new { controller = "Home", action = "Index", Id = UrlParameter.Optional } );
或者使用适当的
[Route]
属性装饰您的操作:

[HttpPost]
[Route("Blog/Test")]
public ActionResult Test()
{
    // ...
}

控制台里有什么?F12在浏览器中或使用Fiddler查看请求的外观。定义“不工作”。响应的状态代码是什么?@haim770响应显示“未找到”显示您的路由配置