这段代码应定期从数据库中请求数据:
<script type="text/javascript">
function refreshData() {
@{
var db2 = Database.Open("StarterSite");
string tresc2 = db2.QuerySingle(someQuery, 1).RoleName;
<text>
alert("@tresc2");
</text>
}
}
setInterval(function() {refreshData()}, 5000);
我的工作是:
我运行此代码
我更改了数据库中的值
问题是警报一旦反复就会一遍又一遍地显示相同的值。
我在这里做错了什么?
谢谢
答案 0 :(得分:2)
那是因为警报永远不会改变。当请求作为
时,MVC呈现文本alert("whatever the value is on the first attempt");
如果您在浏览器中点击了视图源,您将在HTML中看到它。为了实际获取新值,您必须使用一些ajax返回到服务器。
首先,在控制器中设置json结果:
public JsonResult GetNewResult()
{
var db2 = Database.Open("StarterSite");
string tresc2 = db2.QuerySingle(someQuery, 1).RoleName;
return this.Json(tresc2);
}
然后查询它:
$.ajax({
url: "/Controller/GetNewResult",
context: document.body
}).done(function(data) {
alert(data);
});