javascript - ASP.NET Ajax 出现错误,代码为 0

标签 javascript jquery asp.net ajax asp.net-mvc

我对 ASP.NET 完全陌生,我想使用 jQuery Ajax 和 ASP.NET MVC 创建无限滚动。这就是我到目前为止所得到的

<div id="container"></div>
<div id="progress" style="display:none">
    <h4>Loading...</h4>
    <div class="col-md-12 panel panel-default"></div>
</div>

<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: 'http://localhost:64949/api/values/delfi',
            dataType: 'json',
            success: function(data) {
                alert("yra");
                //if (data != null) {
                //    for (var i = 0; i < data.length; i++) {
                //        $("#container").append("<h2>" +
                //        data[i].CompanyName + "</h2>");
                //    }
                //    pageIndex++;
                //}
            },
            beforeSend: function() {
                $("#progress").show();
            },
            complete: function() {
                $("#progress").hide();
            },
            error: function(jqXHR, exception) {
                var msg = '';

                if (jqXHR.status === 0) {
                    msg = 'Not connect.\n Verify Network.' + jqXHR.responseText;
                } else if (jqXHR.status == 404) {
                    msg = 'Requested page not found. [404]' + jqXHR.responseText;
                } else if (jqXHR.status == 500) {
                    msg = 'Internal Server Error [500].';
                } else if (exception === 'parsererror') {
                    msg = 'Requested JSON parse failed.';
                } else if (exception === 'timeout') {
                    msg = 'Time out error.';
                } else if (exception === 'abort') {
                    msg = 'Ajax request aborted.';
                } else {
                    msg = 'Uncaught Error.\n' + jqXHR.responseText;
                }

                alert(msg);
            }
        });
   }
</script>

我实现了滚动监听器,每次到达页面末尾时,我都会向我的 api 发出新请求,该请求仅返回 json 数据。这是它返回的内容

[{"Index":1,"List":{"Img":"http://g1.dcdn.lt/images/pix/jonas-udris-72559208.jpg","Title":"J. Udris. Scenarijai dėl Šilutės balsavimo reikalų","Description":"Policijai pradėjo ikiteisminį tyrimą dėl galimo rinkėjų papirkimo Šilutės rajone partijos „Tvarka ir teisingumas naudai. Ketvirtadienį policija pranešė sulaikiusi septynis asmenis, antradienį jų namuose atliktos kratos. Vienas asmuo suimtas 10 parų."}}]

但是每次我的ajax跳转到错误函数并且jqXHR.status始终为0时。我也尝试传递像这样的url:localhost:64949/api/values/delfi并且仍然得到同样的 react 。我的代码有什么问题吗?

最佳答案

您不应该对 URL 进行硬编码。 如果您使用 Controller ,您可以选择:

url: '@Url.Action("Action", "Controller")',

要链接到您的 api,您应该查看 Attribute Routing

快速修复可能是:

url: '/api/values/delfi',

编辑:@lmad 这确实不是操作问题的答案,对此我感到抱歉。状态代码 0 表示请求的 url 无法访问,所以我要做的就是使用上面的代码编辑 url!

关于javascript - ASP.NET Ajax 出现错误,代码为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039854/

相关文章:

javascript - 在这个 javascript 的异步示例中,为什么第二个函数不运行?

javascript - 如何让这个冗长的 jQuery 变得优雅呢?

javascript - jquery字符串比较变量

javascript - 未正确构建 jQuery ajax 数据

c# - 通过引用传递给静态方法的变量?

javascript - 如何在新窗口中打开选择框中的链接?

javascript - Node.js:获取 "From: "和 "To: "的正则表达式

javascript - Webgl 动画纹理性能与 canvas drawImage 性能

jquery - 如何让 jquery ui 标签工作?

javascript - ASP.Net Mvc Ajax 请求正在进行中