2016-07-26 149 views
-1

我有一个webforms应用程序,需要在我的aspx页面后面的代码中对PageMethod(即WebMethod)进行jquery ajax调用。到目前为止,它不适合我。这可能吗? 这里是我的代码:从aspx页面访问PageMethod

$(function() 
    { 
     setInterval(function(){ 
      $.ajax({ 
       type: "GET", 
       url: "/ClientBillingBillDetails.aspx/MyPageMethod", 
       data: {someData: '<%= TheData %>'}, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(result) { 

       } 
      }); 
     }, 10000); 
    }); 

    [System.Web.Services.WebMethod] 
    public static string MyPageMethod(int someData) 
    { 
     return ""; 
    } 

什么毛病我的网址或其他什么东西?

感谢

+0

有许多文章在那里。检查[这](http://stackoverflow.com/questions/7770679/jquery-ajax-call-to-an-asp-net-webmethod),[这](http://www.aspsnippets.com/Articles/ Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx)and [this](http://stackoverflow.com/questions/6928533/calling-a-webmethod-with-jquery-in-asp-net-webforms) – techspider

+0

“不起作用”是什么意思?请准确描述您所看到的行为以及您期望看到的内容。在浏览器中包含调试和检查控制台和网络选项卡的相关信息。 – mason

+0

对不起,“不起作用”表示该方法未被调用。 –

回答

0

试试这个:

$(function() { 
      setInterval(function() { 
       $.ajax({ 
        type: "POST", 
        url: "/ClientBillingBillDetails.aspx/MyPageMethod", 
        data: "{ 'someData': '<%= TheData %>' }", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (result) { 

       } 
      }); 
     }, 10000); 
     }); 
+0

我是否正确理解您建议用“POST”替换“GET”?如果是的话,它并没有帮助:( –

+0

你也可以在**数据**中进行更改,发送json格式的数据时使用double quoute。 –

+0

我试过了,现在我得到一个错误:无效的JSON原语:someData 我调试,数据看起来像这样:data:{'someData':'1420715'} –

0

使用类型后,并确保,如果你有在溶液ajax.jquery库引用。

此外,我认为你可以删除'/'在指定的方法.. 只需使用“ClientBillingBillDetails.aspx/MyPageMethod”。

否则,您可以使用简单的pageMethods使用的ScriptManager