2016-07-26 146 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