我有一个简单的ASP .NET项目(不是MVC),它使用两个Razor页面。第一页加载后,每隔两秒钟通过XMLHttpRequest
对象调用第二页。
以下是第二页的内容。
@{
<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();
}
}
当第一页运行时,我不断得到readyState
值1,2,3,1,2,3等等,但我从未得到值4(用于指示该页面)装载完成)。
我想知道是否需要在第二页中执行更多操作以通知页面操作已完成。问候。
答案 0 :(得分:0)
默认情况下,Razor页面提供的内容类型为text / HTML。结果,我猜客户端假设一个end-html标签。我将内容类型更改为&#34; application / json&#34;现在我正在返回一个json对象。客户端现在的readyState
值为4.