2016-10-14 3 views
0

Ich bin absolut neu in asp.net und ich möchte unendlich Scrolling mit jQuery Ajax und ASP.NET MVC erstellen. Also hier; s, was habe ich bisherASP.NET Ajax geting Fehler mit Code 0

<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> 

I impemented blättern Hörer und jedesmal, wenn ich Ende der Seite erreiche ich machen neue Anfrage an meine api, die einfach json Daten zurückgibt. Hier ist, was es gibt

[{"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ų."}}] 

jedoch jedes Mal meine Ajax springt Funktion Irrtum und jqXHR.status ist immer 0. Ich versuche auch, URL wie diese URL weitergeben müssen: localhost:64949/api/values/delfi und immer noch die gleiche Antwort erhalten. Was ist falsch an meinem Code?

+0

Können Sie http: // localhost: 64949/api/values ​​/ delfi über den Browser öffnen? – Imad

+0

@ImadYes, kann ich tatsächlich 'json' Daten, die meine Frage aus dem Browserfenster kopiert wird – David

Antwort

1

Sie sollten die URL nicht fest codieren. Wenn Sie einen Controller verwenden, können Sie gehen für:

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

Denn für Ihre api Verknüpfung Sie bei Attribute Routing

Eine schnelle Lösung könnte sein, aussehen sollte:

url: '/api/values/delfi', 

Edit: @ lmad das ist ja keine antwort zu ops frage das tut mir leid. Statuscode 0 bedeutet, dass die angeforderte URL nicht erreichbar ist, also würde ich die URL mit dem obigen Code bearbeiten!

+0

Ist das eine Antwort? – Imad

+0

Danke für die Antwort, aber was ist, wenn ich zwei getrennte Projekte habe? Eine für API und eine für die Webseite. Und meine Webseite sollte eine Anfrage für API machen. (Die Portnummern beider Projekte sind unterschiedlich). Dann funktioniert diese Antwort nicht und ich bekomme 404 – David

+0

nachschauen auf WCF dann .. Oder dies: https://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-deine-erste-web-api – Bene

Verwandte Themen