我是JQuery和AJAX的新手。我试图在ASP.NET MVC 4中使用AJAX填充DropDownList,结果出现了以下错误:ObjectContext实例已被删除,不能用于需要连接的操作这是我的脚本:
function LoadFlights() {
var $flight = $('#IDFLIGHT');
$flight.empty();
$flight.append($('<option></option>').val('').html('Please Wait...'));
$.ajax({
url: '/Flight/GetFlightList',
type: 'POST',
data: {},
dataType: 'json',
success: function (d) {
$flight.empty();
$flight.append($('<option></option>').val('').html('Select Flight'));
$.each(d, function (i, val) {
$flight.append($('<option></option>').val(val.IDFLIGHT).html(val.DATEFLIGHT));
});
},
error: function () {
}
});
}
这是控制器中的动作飞行我称之为:
public JsonResult GetFlightList()
{
FlightService flightService = new FlightService();
var all = flightService.GetAll();
return new JsonResult { Data = all, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
变量all有数据,但它仍然会给我上面提到的错误。感谢
您应该使用return Json(all,JsonRequestBehavior.AllowGet);
,仅仅将列表数据传递给构造函数不会将其转换为JSON对象。
附言:函数Json()
将返回JsonResult