状況では、JsonResult を返すコントローラーに対して、同じページで複数の ajax/json リクエストを作成しています。
これはセッション状態の問題であることはわかっています。コントローラー クラスに [SessionState(SessionStateBehavior.Disabled)] 属性を追加しましたが、何も機能していないようです。2 番目の ajax リクエストは戻りデータを取得しません。
コントローラー:
[SessionState(SessionStateBehavior.Disabled)]
public class IndexController : Controller
{}
2 つの 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);
}
2 番目のajax呼び出し、もう 1 つは非常に似ています。「成功」アラートは表示されません。
<script type="text/javascript">
$(document).ready(function () {
alert('before');
$.getJSON("/Index/GetCustomerJSON", null, function (data) {
alert('succes');
$("#loadingGifVideo").hide();
$.each(data, function (index, mod) {
});
});
});
みんなありがとう :)