2016-04-04 5 views
0

Ich habe ein einfaches ASP.NET-Projekt (nicht MVC), die zwei Razor-Seiten verwendet. Sobald die erste Seite geladen ist, ruft sie die zweite Seite über das Objekt XMLHttpRequest im Zwei-Sekunden-Intervall auf.ASP.NET Razor v3 Seite wird nie geladen

Hier ist der Inhalt der zweiten Seite.

@{ 
    <text>0</text> 
} 

Alles, was es tut, ist gibt einen Wert 0.

Hier ist der Code von der ersten Seite, die in Zwei-Sekunden-Intervallen aufgerufen wird:

function myFunction() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
     if (xhttp.readyState == 4 && xhttp.status == 200) { 
      var txt = xhttp.responseText(); 
      mydisplay(txt); 
     }else{ 
      var msg = xhttp.readyState.toString() + " " + xhttp.status.toString(); 
      mydisplay(msg); 
     }; 
     xhttp.open("GET", "Page2.cshtml", true); 
     xhttp.send(); 
    } 
} 

Wenn die erste Seite ausgeführt wird Ich bekomme immer readyState Werte von 1, 2, 3, 1, 2, 3 usw., aber ich erhalte nie den Wert 4 (der anzeigt, dass das Laden der Seite abgeschlossen ist).

Ich frage mich, ob ich etwas mehr auf meiner zweiten Seite tun muss, um zu informieren, dass der Seitenvorgang abgeschlossen wurde. Grüße.

Antwort

0

Der von der Razor-Seite standardmäßig bereitgestellte Inhaltstyp ist text/HTML. Als Ergebnis nehme ich an, dass der Client ein End-HTML-Tag annimmt. Ich habe den Inhaltstyp in "application/json" geändert und gebe jetzt ein json-Objekt zurück. Der Client erhält jetzt einen readyState Wert von 4.

Verwandte Themen