1

在这种情况下,我在同一页面上向控制器发出多个 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) {                        

                });
            });
        });

多谢你们 :)

4

1 回答 1

0

如果您在 GetCustomerJSON 方法中放置一个断点并在 Visual Studio 中运行它,该方法是否会被调用?它确实

编辑

尝试从 getJSON 切换到 ajax 方法,以便捕获任何错误。像这样:

$.ajax({
  url: "/Index/GetCustomerJSON",
  dataType: 'json',
  data: null,
  success: function (data) { alert('success'); }
  error: function (data) { alert('error'); }
});

您是否收到“错误”警报?

于 2012-05-01T20:47:06.787 回答