2014-10-08 10 views
1

我遇到了一個問題,我無法解決我對jQuery/Java語法不完全瞭解的原因,但哪個問題可以通過比我更有經驗的人快速解決。從客戶端每10秒鐘調用一次控制器方法的jQuery函數mvc razor

我想建立一個簡單的腳本在客戶端上運行,將調用控制器方法每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> 

回答

1

你需要用生成的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 
    }); 
} 
+0

感謝現在它的工作,恥辱,我沒有問早些時候我會節省一些時間... – lolek 2014-10-08 09:45:10

0

你最那裏的方式,試試這個:

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

這取決於服務器返回(如JSON,HTML等)取決於你如何處理它

+0

感謝您回覆我的代碼,我也工作。 – lolek 2014-10-08 09:46:13