Frage

Ich verwende ASP.NET 3.5. Ein Anruf bei einem WebMethod mit JQuery gibt gültige JSON -Daten zurück. Wenn ich jedoch denselben WebMethod anrufe, um eine HTML -Tabelle mithilfe des Plugins von DataTables.net JQuery zu füllen, werde ich die gesamte HTML der Seite zurückerhalten.

**WebMethod:**
 <WebMethod()> _
         Public Shared Function GetData() As String
        Dim a As String = "{""aaData"": [['Trident','Internet Explorer 4.0']]}"
        Return a
    End Function


**Successful JQuery call:**
 $("#Result").click(function() {
    $.ajax({
      type: "POST",
      url: "Default2.aspx/GetData",
      data: "{}",
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        // Replace the div's content with the page method's return.
        $("#Result").text(msg.d);

      }
    });
  });
});

Erfolgloser JQuery -Anruf:

$(document).ready(function() {
    $('#example').dataTable({
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "Default2.aspx/GetDate",
        "fnServerData": function(sSource, aoData, fnCallback) {
        $.ajax({
        "dataType": 'json',
        "url": sSource,
        "data": aoData,
        "success": fnCallback
        });
        }
    });
});

Irgendwelche Gedanken darüber, warum der zweite Anruf HTML zurückgibt? Ich habe versucht, ContentType hinzuzufügen: "Application/JSON; Charset = UTF-8" zum zweiten Ajax-Anruf. Ich bekomme einen Fehler.

War es hilfreich?

Lösung

ContentType: Anwendung/JSON wird erforderlich sein. Was ist der Fehler, den Sie bei der Lieferung erhalten?

Vielleicht gibt es einen Codierungsfehler; sehen So setzen Sie Codierung in .getjson jQuery

Andere Tipps

Möglicherweise rufen Sie eine Methode auf, die nicht existiert. Möglicherweise kommt eine Fehlerseite als Antwort. Überprüfen Sie besser, was in Ihrer Antwort kommt.

"sAjaxSource": "Default2.aspx/GetDate",

In einem erfolgreichen Anruf verwenden Sie die GetData -Methode

url: "Default2.aspx/GetData",

In erfolglosen Anruf rufen Sie die GetDate -Methode auf.

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