asp.net jquery datatables.net веб-метод

Я использую ASP.net 3.5. Вызов веб-метода с использованием JQuery возвращает действительные данные JSON. Однако, когда я вызываю тот же веб-метод для заполнения таблицы html с помощью плагина datatables.net JQuery, я возвращаю весь html страницы.

**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);

      }
    });
  });
});

Неудачный вызов JQuery:

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

Есть мысли о том, почему второй вызов возвращает html? Я попытался добавить contentType: "application / json; charset = utf-8" ко второму вызову ajax. Я получаю ошибку


person klork    schedule 17.12.2009    source источник
comment
К сожалению, Default2.aspx / GetDate - это опечатка. В обоих случаях вызывается Default2.aspx / GetData. Результатом неудачного вызова остается вся страница   -  person klork    schedule 17.12.2009


Ответы (1)


Возможно, вы вызываете метод, которого не существует, поэтому в ответ может появиться страница с ошибкой. Лучше проверьте, что будет в вашем ответе.

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

В успешном вызове вы используете метод GetData

url: "Default2.aspx/GetData",

При неудачном вызове вы вызываете метод GetDate.

person Krunal    schedule 17.12.2009
comment
К сожалению, Default2.aspx / GetDate - это опечатка. В обоих случаях вызывается Default2.aspx / GetData. Результатом неудачного вызова остается вся страница. - person klork; 17.12.2009