【问题标题】:asp.net jquery datatables.net webmethod [duplicate]asp.net jquery datatables.net webmethod [重复]
【发布时间】:2010-12-27 12:29:51
【问题描述】:

我正在使用 ASP.net 3.5。使用 JQuery 调用 Web 方法会返回有效的 JSON 数据。但是,当我使用 datatables.net JQuery 插件调用相同的 web 方法来填充 html 表时,我会取回页面的整个 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 有什么想法吗?我尝试在第二个 ajax 调用中添加 contentType: "application/json; charset=utf-8"。我收到一个错误。

【问题讨论】:

  • 抱歉,“Default2.aspx/GetDate”是一个错字。在这两种情况下,都会调用“Default2.aspx/GetData”。调用不成功的结果还是他整页

标签: asp.net jquery datatables webmethod


【解决方案1】:

可能是您正在调用一个不存在的方法,因此可能是一个错误页面正在响应。最好检查一下您的回复内容。

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

在成功的调用中,您正在使用 GetData 方法

url: "Default2.aspx/GetData",

在不成功的调用中,您正在调用 GetDate 方法。

【讨论】:

  • 对不起,“Default2.aspx/GetDate”是一个错字。在这两种情况下,都会调用“Default2.aspx/GetData”。调用不成功的结果还是他整个页面。
猜你喜欢
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 2011-12-07
  • 2014-08-13
  • 1970-01-01
  • 2011-04-28
  • 2014-05-27
相关资源
最近更新 更多