2014-05-11 84 views
0

我想要一個C#代碼,每秒運行一次。谷歌搜索後,我寫了這些代碼:如何使用jQuery調用C#方法?

<script type="text/javascript"> 
     var myVar = setInterval(function() { start() }, 1000); 
     function start() { 
       time2 = 5; 
       //alert("Hello"); 
       $.ajax({ 
        type: "POST", 
        url: "WebForm1.aspx/refresh", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function() { 
         alert("Hello"); 
        }, 
        failure: function() { 
         alert("Error"); 
        } 
       }); 
     } 
    </script> 

而後面的代碼是:

[System.Web.Services.WebMethod] 
    public static void refresh() 
    { 
     //some code 
    } 

但沒有任何反應。怎麼了?

更新:我安裝了Firebug並觀察到它報告了「500內部服務器錯誤」。這是什麼意思 ?

+0

'refresh()'做了什麼? – Joseph

+0

您是否收到任何錯誤?另外,你是否取消了webservice中的這一行註釋? //爲了允許使用ASP.NET AJAX從腳本調用此Web服務,請取消註釋以下行。 –

+0

使用螢火蟲,並觀看控制檯中的任何錯誤? –

回答

0

一切看起來不錯。但我假設你沒有調用JavaScript函數。

<script type="text/javascript"> 
     var myVar = setInterval(function() { start() }, 1000); 
     function start() { 
      alert('hi'); 
      time2 = 5; 
      //alert("Hello"); 
      $.ajax({ 
       type: "POST", 
       url: "default.aspx/refresh", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function() { 
        alert("Hello"); 
       }, 
       failure: function() { 
        alert("Error"); 
       } 
      }); 
     } 


     myVar; //------------------> Call the function 
    </script> 

只需調用函數myVar;