Asp.net mvc IE-10-Ajax获取方法不命中控制器

Asp.net mvc IE-10-Ajax获取方法不命中控制器,asp.net-mvc,angular-directive,Asp.net Mvc,Angular Directive,下面的值获取返回,并且它不调用控制器方法 您正在向controller发布数据,因此我想您应该将属性HttpPost设置为如下所示:- [UMAuthorize] public ActionResult GetDate(string calenderId, DateTime fyYear) { ....... ..... return Json(new { startDate }, JsonRequestBehavior.AllowGet); } [UMAuthorize] [HttpP

下面的值获取返回,并且它不调用控制器方法


您正在向controller发布数据,因此我想您应该将属性HttpPost设置为如下所示:-

[UMAuthorize]
public ActionResult GetDate(string calenderId, DateTime fyYear)
{
 ....... 
 .....
return Json(new { startDate }, JsonRequestBehavior.AllowGet);
}
[UMAuthorize]
[HttpPost]
public ActionResult GetDate(string calenderId, DateTime fyYear)
{
 ....... 
 .....
return Json(new { startDate }, JsonRequestBehavior.AllowGet);
}
从您正在调用的控制器中,将其作为Post方法而不是Get方法,如下所示:-

[UMAuthorize]
public ActionResult GetDate(string calenderId, DateTime fyYear)
{
 ....... 
 .....
return Json(new { startDate }, JsonRequestBehavior.AllowGet);
}
[UMAuthorize]
[HttpPost]
public ActionResult GetDate(string calenderId, DateTime fyYear)
{
 ....... 
 .....
return Json(new { startDate }, JsonRequestBehavior.AllowGet);
}

您的FYYYEAR对象在控制器中是DateTime,但您正在将其转换为字符串,然后发送,因此它与控制器的参数不匹配。如果传递的url错误,请使用url。用于生成正确url的操作帮助程序:

更改:

$http({
method: 'POST',

dataType: 'json',

url: 'Calendar/GetDate',

params: { calenderId: $scope.CalendarId, fyYear: new Date(viewValue)

}
}).success(function (result) {

alert(result);

});
致:

url: '@Url.Action("GetDate","Calendar")'