Я просмотрел ранее опубликованные вопросы по jQuery / MVC и не нашел подходящего ответа.
У меня есть следующий код JavaScript:
appCode.runReports = function (e) {
var reportList = '';
$('.rptCheck:checked').each(function (index) {
reportList += ($(this).attr('reportName') + ',');
});
$.ajax({
url: '/Report/RunReports/?reports=' + reportList,
error: appCode.reportAjaxFailure,
success: appCode.listRunningReports,
complete: appCode.ajaxComplete,
dataType: 'json'
});
e.preventDefault();
}
$(document).ready(function () {
$('#runReportsButton').click(appCode.runReports);
});
URL-адрес, по которому он обращается, использует следующий контроллер:
namespace workflowDemoMVC.Controllers
{
public class ReportController : Controller
{
public JsonResult RunReports(string reports = "")
{
try
{
var ret = reports.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
return Json(ret, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
ide.Trace.WriteLine(ex.ToString());
return Json(null, JsonRequestBehavior.AllowGet);
}
}
}
}
Когда я запускаю код в dev, действие контроллера выполняется должным образом и возвращается, но ни один из обратных вызовов, определенных в вызове AJAX (завершено, ошибка или успех), не срабатывает. Когда-то в более ранней версии кода я видел исключение в 500 кодов (Внутренняя ошибка сервера), но теперь я вообще ничего не вижу.
Среда: MVC3, jQuery1.6 .net4