以下查询有什么问题,因为我想以 JSON 格式从服务器获取数据



我只是遇到了一个问题,我无法从运行查询的SQL表中获取数据。我的控制器中有一个GetData ActionResult我想从服务器检索 JSON 格式的数据,但我无法 这里是操作的代码:

public ActionResult GetData(int pageIndex, int pageSize)
{
    EFDbContext db = new EFDbContext();
    var query = (from c in db.Products
              orderby c.ProductName ascending
             select c)
             .Skip(pageIndex * pageSize)
             .Take(pageSize);
    return Json(query.ToList(), JsonRequestBehavior.AllowGet);
}

在我看来,我已经放置了这个 JQuery Ajax 代码来从操作中获取数据,然后将其附加到我的视图正文中定义的容器中,这是代码。

<head>
    <title>Infinite Scroll</title>
    <script src="~/Scripts/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        var pageSize = 10;
        var pageIndex = 0;
        $(document).ready(function () {
            GetData();
            $(window).scroll(function () {
                if ($(window).scrollTop() ==
                   $(document).height() - $(window).height()) {
                    GetData();
                }
            });
        });
        function GetData() {
            $.ajax({
                type: 'GET',
                url: '/Product/GetData',
                data: { "pageindex": pageIndex, "pagesize": pageSize },
                dataType: 'json',
                success: function (data) {
                    if (data != null) {
                        for (var i = 0; i < data.length; i++) {
                            $("#container").append("<h2>" +
                            data[i].ProductName + "</h2>");
                        }
                        pageIndex++;
                    }
                },
                beforeSend: function () {
                    $("#progress").show();
                },
                complete: function () {
                    $("#progress").hide();
                },
                error: function () {
                    alert("Error while retrieving data!");
                }
            });
        }
    </script>
</head>

我总是得到

500(内部服务器错误)

,知道吗?

尝试method: "GET"使用javascript方法而不是type: "GET"

将字符串数据而不是 int 数据发送到控制器。

var pageindex = 0;
var pagesize = 10;
$.ajax({
    type: 'GET',
    url: '/Product/GetData',
    data: { pageIndex : pageindex , pageSize : pagesize},
    dataType: 'json',
    .
    .
});

希望这有帮助

相关内容

  • 没有找到相关文章

最新更新