我可以从控制器传递json对象到视图,而无需视图的任何请求吗?

时间:2018-10-07 09:10:48

标签: jquery asp.net ajax asp.net-mvc model-view-controller

我正在处理ASP MVC Web应用程序,我想让用户看到其他用户的更改而无需刷新页面。 因此,我尝试通过ajax间隔发送请求,以检查过去n秒内我的数据库中是否有任何更新。这是我的代码:

 function checkForNewMsgs() {
            requestData = {
                id: 1
            }
            $.ajax({
                url: "/user/message/checkForNews",
                type: "POST",
                dataType: 'json',
                contentType: "application/json",
                data: JSON.stringify(requestData),
                success: function (response) {
                    if (response != "no news") {

                        }
                    }
                }
            });
        }

所以它工作正常,但是这里有一个问题,我每10秒钟向我的服务器发送一个ajax请求以检查新闻,我想问你,是否有任何方法可以从控制器发送json对象以进行查看需要吗? 例如,当另一个用户向我的用户发送消息给他时,不要每隔十秒检查一次新消息。我不确定我的问题是否明确! :) 谢谢大家

1 个答案:

答案 0 :(得分:0)

有多种方法可以完成此任务:
*您可以使用SignalR从网页到后端建立在线连接。
*您可以使用Not-Modifid Http标头来减少流量

解决此问题的更好方法是使用React和Angular等Js库与后端代码进行交互。