Jquery 自动刷新MVC视图

Jquery 自动刷新MVC视图,jquery,asp.net-mvc,ajax,refresh,Jquery,Asp.net Mvc,Ajax,Refresh,我想每隔3秒使用jquery.load和ajax刷新我的MVC视图。这个的语法是什么? 我使用了下面的代码,但不起作用 $(document).ready(function() { setInterval(function() { var url = '<%= Url.Action("Index", "LiveGame") %>'; $.getJSON(url, null, function() { }); }

我想每隔3秒使用jquery.load和ajax刷新我的MVC视图。这个的语法是什么? 我使用了下面的代码,但不起作用

$(document).ready(function() {
  setInterval(function() {
        var url = '<%= Url.Action("Index", "LiveGame") %>';
        $.getJSON(url, null, function() { });
    }
                    , 3000);
});
$(文档).ready(函数(){
setInterval(函数(){
var url='';
$.getJSON(url,null,function(){});
}
, 3000);
});

您应该使用
load
get
jQuery方法
getJSON
返回JSON格式的结果,而视图返回HTML

您的代码可能如下所示:

$(document).ready(function() {
    setInterval(function() {
        var url = '<%= Url.Action("Index", "LiveGame") %>';
        $('body').load(url);
    }, 3000);
});
$(文档).ready(函数(){
setInterval(函数(){
var url='';
$('body').load(url);
}, 3000);
});

您应该使用
load
get
jQuery方法
getJSON
返回JSON格式的结果,而视图返回HTML

您的代码可能如下所示:

$(document).ready(function() {
    setInterval(function() {
        var url = '<%= Url.Action("Index", "LiveGame") %>';
        $('body').load(url);
    }, 3000);
});
$(文档).ready(函数(){
setInterval(函数(){
var url='';
$('body').load(url);
}, 3000);
});

当然,它不会刷新任何内容-毕竟这是一个ajax调用。您还必须实现将接受ajax方法返回的值并将其动态放置到视图中的代码

或者你按照@gor的建议去做——顺便说一句,这不是ajax

编辑让我们假设JSON数据返回一个
名称
字段,并且视图中有一个ID=
txtName
的输入文本字段。这就是(ajax)实现的方法:

$(document).ready(function() {
    setInterval(function() {
            var url = '<%= Url.Action("Index", "LiveGame") %>';
            $.getJSON(
                url,
                null,
                function(data) {
                    $('#txtName').val(data.name);
                }
            );
        },
        3000
    );
});
$(文档).ready(函数(){
setInterval(函数(){
var url='';
$.getJSON(
网址,
无效的
功能(数据){
$('#txtName').val(data.name);
}
);
},
3000
);
});
请注意,您并不是在刷新“视图”-而是分别将每个返回的JSON值刷新到相应的HTML元素中。这就是ajax的意义所在——能够使用DOM操作动态更改值,而无需从web服务器加载整个新页面

这也意味着您的服务器端方法也应该返回一个有效的JSON对象


这听起来可能太多工作了-如果是这样的话,你真的只想刷新页面,而不需要处理异步ajax调用和序列化JSON对象,只需按照@gor的指示去做,这意味着每3秒钟刷新一次整个HTML页面…

当然,它不会刷新任何内容-这毕竟是一个ajax调用。您还必须实现将接受ajax方法返回的值并将其动态放置到视图中的代码

或者你按照@gor的建议去做——顺便说一句,这不是ajax

编辑让我们假设JSON数据返回一个
名称
字段,并且视图中有一个ID=
txtName
的输入文本字段。这就是(ajax)实现的方法:

$(document).ready(function() {
    setInterval(function() {
            var url = '<%= Url.Action("Index", "LiveGame") %>';
            $.getJSON(
                url,
                null,
                function(data) {
                    $('#txtName').val(data.name);
                }
            );
        },
        3000
    );
});
$(文档).ready(函数(){
setInterval(函数(){
var url='';
$.getJSON(
网址,
无效的
功能(数据){
$('#txtName').val(data.name);
}
);
},
3000
);
});
请注意,您并不是在刷新“视图”-而是分别将每个返回的JSON值刷新到相应的HTML元素中。这就是ajax的意义所在——能够使用DOM操作动态更改值,而无需从web服务器加载整个新页面

这也意味着您的服务器端方法也应该返回一个有效的JSON对象


这听起来可能太多工作了-如果是这样的话,你真的只想刷新页面,而不需要处理异步ajax调用和序列化JSON对象,只需执行@gor告诉你的操作,这意味着每3秒钟刷新一次整个HTML页面…

什么不起作用?你期望得到什么结果?什么不起作用?你期望得到什么结果?它根本没有刷新。你能告诉我如何更改上面的代码吗?嗨@gor:我用了你的代码,它工作了。非常感谢你的帮助,它一点也没有刷新。你能告诉我如何更改上面的代码吗?嗨@gor:我用了你的代码,它工作了。非常感谢您的帮助hi@rsenna:我不熟悉jquery和ajax。你能给我发送代码吗?嗨@rsenna:我是jquery和ajax新手。你能给我发个密码吗?