情况,我在同一页面上向控制器发出多个ajax / json请求,后者返回一个JsonResult。
我知道这是会话状态的问题,我在我的控制器类上添加了[SessionState(SessionStateBehavior.Disabled)]属性,但似乎没有任何效果,我的第二个ajax请求就是不会得到返回数据。
控制器:
[SessionState(SessionStateBehavior.Disabled)]
public class IndexController : Controller
{}
两个json方法:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetLatestListJSON()
{
Thread.Sleep(5000);
ArticleRepository repo = new ArticleRepository();
IList<ArticleModel> list = repo.GetLatestContent(10);
return Json(list, JsonRequestBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetCustomerJSON()
{
Thread.Sleep(5000);
CustomerRepository Repo = new CustomerRepository();
IList<Customer> cust= Repo.GetCustomer();
return Json(cust, JsonRequestBehavior.AllowGet);
}
第二次 ajax调用,另一次非常相似,我从未看到'成功'警告。
<script type="text/javascript">
$(document).ready(function () {
alert('before');
$.getJSON("/Index/GetCustomerJSON", null, function (data) {
alert('succes');
$("#loadingGifVideo").hide();
$.each(data, function (index, mod) {
});
});
});
谢谢你们:)
答案 0 :(得分:0)
如果在GetCustomerJSON方法中放置一个断点并在Visual Studio中运行它,该方法是否会被调用? 它确实
修改强>
尝试从getJSON切换到ajax方法,以便捕获任何错误。像这样:
$.ajax({
url: "/Index/GetCustomerJSON",
dataType: 'json',
data: null,
success: function (data) { alert('success'); }
error: function (data) { alert('error'); }
});
你收到“错误”警告吗?