Jquery 为什么';MVC中的ajax调用后控制器方法?
我已经阅读了几乎所有关于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
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响应显示“未找到”显示您的路由配置