我有Jquery Ajax函数从MVC控制器获取数据。 Ajax方法调用完美但不在正确的区域。在Ajax调用中成功方法之后命中控制器方法。 我将Array从控制器返回到ajax方法。但它没有用。当我成功设置警报时,它会弹出。我不能指定数组值来定义变量。 请帮我解决这个问题。
Jquery Ajax方法:
<script type="text/javascript">
$(document).ready(function () {
debugger;
var austDay = new Date();
var currDay = new Date();
$.ajax({
type: 'GET',
url: '/Service/Utility/GetDownDate',
success: function (countDownDetail) {
if (countDownDetail.Result.length > 0) {
austDay = countDownDetail.Result[0];
currDay = countDownDetail.Result[1];
}
}
});
austDay = new Date(austDay, 1 - 1, 26);
$('#defaultCountdown').countdown({ until: austDay });
$('#year').text(austDay.getFullYear());
});
</script>
这是MVC控制器方法:
public ActionResult GetDownDate()
{
string dtime = db.Maintanance.FirstOrDefault().Time;
string[] time = dtime.Split(':');
//int hours = db.Maintanance.FirstOrDefault().date.Hour+;
DateTime downDate = db.Maintanance.FirstOrDefault().date;
int minutes = db.Maintanance.FirstOrDefault().duration + Convert.ToInt32(time[1]);
DateTime newDate = new DateTime(downDate.Year, downDate.Month, downDate.Day, Convert.ToInt32(time[0]), minutes, 0);
DateTime currentDate = System.DateTime.Now;
DateTime[] dateTimes = new DateTime[]
{
newDate,currentDate
};
return Json(new
{
Value = dateTimes
}, JsonRequestBehavior.AllowGet
);
}
谢谢你,
答案 0 :(得分:0)
获取HTTP响应对象并使用write方法。
response.getWriter()写(视图(newDate));
希望这有帮助。
答案 1 :(得分:0)
使用像implode()这样的函数和一些分隔符返回字符串而不是数组,并使用javascript中的split函数拆分结果。
success: function (countDownDetail) {
var countDownResult=countDownDetail.split(seperator);
if ( countDownResult.length > 0) {
austDay = countDownResult[0];
currDay = countDownResult[1];
}
}
答案 2 :(得分:0)
每当你返回Ajax成功的东西时,你需要使用return JSON而不是返回视图,如下面的代码
public ActionResult GetDownDate()
{
.............
DateTime downDate = db.Maintanance.FirstOrDefault().date;
int minutes = db.Maintanance.FirstOrDefault().duration + Convert.ToInt32(time[1]);
DateTime newDate = new DateTime(downDate.Year, downDate.Month, downDate.Day, Convert.ToInt32(time[0]), minutes, 0);
return Json(new { date = newDate }, JsonRequestBehavior.AllowGet);
}
成功功能如
success: function (data) {
//data will contain date objects
}