2016-04-04 71 views
0

我有一個簡單的ASP .NET項目(不是MVC),它使用兩個Razor頁面。第一頁,一旦加載,通過XMLHttpRequest對象以兩秒的間隔持續呼叫第二頁。ASP .NET Razor v3頁面永不完成加載

這裏是第二頁的內容。

@{ 
    <text>0</text> 
} 

它所做的就是返回一個值0。

這裏是從第一頁即在兩秒的時間間隔調用的代碼:

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(); 
    } 
} 

當運行在第一頁,我不斷得到值爲1,2,3,1,2,3等,但我從來沒有得到值4(用於表示頁面加載完成)。

我想知道是否需要在第二頁中做更多的事情來通知頁面操作已經完成。問候。

回答

0

默認情況下Razor頁面提供的內容類型是文本/ HTML。因此,我猜客戶端會假設一個end-html標籤。我將內容類型更改爲「application/json」,現在正在返回一個json對象。客戶端現在確實得到了readyState的值4.