gpt4 book ai didi

javascript - jQuery AJAX 调用 MVC Controller 操作永远不会返回

转载 作者:行者123 更新时间:2023-12-02 19:55:10 26 4
gpt4 key购买 nike

我查看了之前发布的 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 使用以下 Controller :

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 中运行代码时, Controller 操作按预期执行并返回,但 AJAX 调用中定义的回调(完成、错误或成功)都不会触发。有一次,在早期的代码版本中,我看到了 500 编码的异常(内部服务器错误),但现在我什么也没看到。

环境:MVC3、jQuery1.6 .net4

最佳答案

您应该尝试在 AJAX 调用上设置内容类型。我遇到了这样的问题,它为我解决了。基本上你会这样做。我知道在我指定这一点之前,我在使用 IE 时遇到了很多问题。

$.ajax({
url: '/Report/RunReports/?reports=' + reportList,
error: appCode.reportAjaxFailure,
success: appCode.listRunningReports,
complete: appCode.ajaxComplete,
dataType: 'json',
contentType: 'application/json; charset=utf-8'
});

关于javascript - jQuery AJAX 调用 MVC Controller 操作永远不会返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8760420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com