2014-05-11 40 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;