Frage

Ich sehe immer den Code wie folgt in den Blogs:

$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "WebService.asmx/HelloWorld",
                    data: "{}",
                    dataType: "json",
                    success: function(msg) {
                        alert(msg.d);
                    }
                });

Aber ich denke, das ist nur mit asp.net 3.5 ausgeführt wird. Ich konnte es nicht mit 2.0 laufen. Wie kann ich so diese Codes in meinen Anwendungen verwenden?

War es hilfreich?

Lösung

Sie müssen dieses Attribut auf den Webserver Klasse hinzuzufügen

[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService

und dieses Attribut auf Ihre Funktionen

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

Sie müssen nicht technisch die Response spezifizieren, wie es nach antwortet auf das Format geben Sie in der Anfrage. Und Sie muss ein Format in der Anforderung angeben.

Viele Grüße
K

Andere Tipps

Wenn Sie jQuery verwenden, um mit dem Server verbinden Sie die ScriptManager in Ihrem HTML nicht brauchen.

Ich denke, anderer Teil von Ihnen eingegebene Code richtig. Entfernen Sie einfach die ScriptManager.

ich diesen Artikel bereits weiß, aber es kann mir nicht helfen.

In meiner Beispielanwendung, verwende ich diese Codes:

mein JQuery-Code:

     $(document).ready(function() {            
        $('#clKaydet').click(function() {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "WebService.asmx/HelloWorld",
                data: "{}",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });

        });

    });

Ihr HTML-Code:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
    <div>

        <input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" />
    </div>

    </div>
    </form>

Mein Webservise Code:

  <WebMethod()> _
Public Function HelloWorld() As String
    Dim sText As String = "Hello"
    Return sText
End Function

Gibt es einen Fehler?

Wir verwenden jQuery für alle DOM-Manipulation, aber wenn die Daten zurück an den Server senden verwenden wir ASP.Net AJAX Vorteil automatisch generierte Proxy-Klassen zu nehmen

Das macht das Leben wirklich einfach!

Ich denke, dass das Bit, das Ihnen fehlt ist, dass ein Verfahren mit einem WebMethod Tag markiert wird, die Daten als XML serialisiert werden, nicht JSON. Mit ASP.NET MVC können Sie JSON nativ zurückkehren, aber wenn Sie JSON wollen für eine WebMethod müssen Sie Ihren eigenen Konverter schreiben. Ich würde versuchen, vorschlagen, den Datentyp für den AJAX-Aufruf zu „xml“ zu ändern und sehen, ob das funktioniert.

Ich benutze auch nicht jquery für AJAX (noch) nicht, so habe ich das nicht (noch) nicht versucht.

Abschließend Sie sagen, dass ich diese Codes nicht direktly mit asp.net 2.0 verwenden kann?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top