0

这是我的 jQuery 代码:

 $.ajax({
     url: "/Ajax/GetConcertTime",
     type: "POST",
     cache: false,
     data: { concertID: concertID.replace("ct", ""), date: selectedDateValue },
     success: function (dataFromServer) {
                 //some codes ...
              },
      error: function (a, b, c) {
                    alert(c);
              }
  });

这是我用于捕获参数的控制器代码:

[HttpPost]
public ActionResult GetConcertTime(string concertId, string date)
{
     int cid = Convert.ToInt32(concertId);
     try
     {
           MelliConcertEntities db = new MelliConcertEntities();
           var lst = (from x in db.Showtimes
                           where x.Concert.ID == cid
                           && x.ShowtimeDate.Equals(date)
                           && x.IsActive == true
                           select x.ShowtimeTime).Distinct().ToList();
            JavaScriptSerializer js = new JavaScriptSerializer();
            return Content(js.Serialize(lst));
     }
     catch (Exception ex)
     {
           return Content(ex.Message);
     }
}

调试后,当我使用 IE 浏览器时,我知道 Controller 中的参数(concertId 和 date)为空。但在其他浏览器中它可以正常工作。这个问题我该怎么办?

4

1 回答 1

0

尝试直接的 jquery POST :

     $.post("/Ajax/GetConcertTime", { "concertID" : concertID.replace("ct", ""),
              "date":  selectedDateValue }, function (response) {
            console.log(response);  //do your thing

      }).error(function()
            {
                //your stuff
            });
于 2013-08-02T15:35:20.463 回答