2016-07-26 8 views
-1

Ich habe eine Webforms-Anwendung und muss einen JQuery AJAX-Aufruf an eine PageMethod (d. H. WebMethod) in Code hinter meinem aspx-Seite. Bis jetzt funktioniert es nicht für mich. Ist das möglich? Hier ist mein Code:Zugriff auf PageMethod von Aspx Seite

$(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 ""; 
    } 

Ist etwas falsch mit meiner URL oder etwas anderes?

Dank

+0

gibt eine Reihe von Artikeln Es gibt keine. Überprüfen Sie [diese] (http://stackoverflow.com/questions/7770679/jquery-ajax-call-to-an-asp-net-webmethod), [diese] (http://www.aspsnippets.com/Articles/ Aufruf von ASPNet-WebMethod-using-jQuery-AJAX.aspx) und [dies] (http://stackoverflow.com/questions/6928533/calling-a-webmethod-with-jquery-in-asp-net-webforms) – techspider

+0

Was bedeutet "nicht funktioniert"? Beschreiben Sie genau das Verhalten, das Sie sehen und was Sie erwarten. Schließen Sie relevante Informationen aus dem Debugging ein und untersuchen Sie die Konsolen- und Netzwerkregisterkarten in Ihrem Browser. – mason

+0

Sorry, "funktioniert nicht" bedeutet, dass die Methode nicht aufgerufen wird. –

Antwort

0

Versuchen:

$(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

Verstehe ich richtig, dass Sie vorschlagen, "GET" durch "POST" zu ersetzen? Wenn ja, hat es nicht geholfen :( –

+0

Sie auch Änderungen in ** Daten ** mit doppelten Quoute für senden Daten im JSON-Format. –

+0

Ich habe es versucht. Ich bekomme einen Fehler jetzt: Ungültige JSON-Grundelement: someData. Wenn Ich debugge, die Daten sehen so aus: data: {'someData': '1420715'} –

0

Nutzungsart als Post und stellen Sie sicher, wenn Sie ajax.jquery Bibliotheksverweis in Lösung gegeben haben.

Auch ich denke, Sie können '/' in der Angabe Methode entfernen .. Verwenden Sie einfach "ClientBillingBillDetails.aspx/MyPageMethod".

Else können Sie einfach Pagemethods verwenden diese mit Script