jQuery函数,每10秒从客户端调用一次控制器方法mvc剃刀

jQuery function that call controller method from client side every 10 seconds mvc razor

本文关键字:一次 控制器 方法 剃刀 mvc 函数 10秒 调用 客户端 jQuery      更新时间:2023-09-26

我遇到了一个问题,由于我对jQuery/Java语法的了解不完整,我无法解决,但这个问题可以由比我更有经验的人快速解决。

我想构建一个在客户端运行的简单脚本,每10秒调用一个控制器方法(该方法负责从消息服务器接收数据)

到目前为止,我所做的只是在网上搜索,读得越多,我就会感到困惑。。

基本需求是

  • 使用jQuery(有一条提示说它是最佳选择)
  • 每10秒调用一次方法

我想调用的方法是:"callGetMessagesFromClientSide",它在CoordinatorsController 中

    <script src="~/Scripts/jquery-2.1.1.js" type="text/javascript"></script>
    <script>
    var callETs = setInterval(function () { callMessages() }, 10000);
    function callMessages()
    {
         var url = @Url.Action("callGetMessagesFromClientSide", "Coordinators")
         $.get(url);
    }
    </script>

您需要将生成的URL用引号括起来。

使用

var url = '@Url.Action("callGetMessagesFromClientSide", "Coordinators")';

而不是

var url = @Url.Action("callGetMessagesFromClientSide", "Coordinators")

代码的其余部分应该可以工作。

function callMessages() {
    var url = '@Url.Action("callGetMessagesFromClientSide", "Coordinators")';
    $.get(url, function(response) {
       //Perform some operation in the callback if require 
    });
}

您已经完成了大部分工作,请尝试以下操作:

function callMessages()
{
     var url = '@Url.Action("callGetMessagesFromClientSide", "Coordinators")';
     var update = $.get(url);
     update.done(function(response) {
         //handle server response
     });
}

取决于服务器返回的内容(例如JSON、HTML等)取决于您如何处理它