MVC3应用程序中的多个AJAX请求

时间:2012-05-01 20:42:58

标签: ajax asp.net-mvc json

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

                });
            });
        });

谢谢你们:)

1 个答案:

答案 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'); }
});

你收到“错误”警告吗?