2009-12-17 62 views
2

我正在使用ASP.net 3.5。使用JQuery調用Webmethod會返回有效的JSON數據。然而,當我使用datatables.net JQuery插件調用相同的webmethod來填充html表時,我找回了整個頁面的html。asp.net jquery datatables.net webmethod

**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。我收到一個錯誤。

+0

對不起,「Default2.aspx/GetDate」是一個錯字。在這兩種情況下,都會調用「Default2.aspx/GetData」。致電不成功的結果仍然是他的整個頁面 – klork 2009-12-17 14:25:47

回答

0

也許你正在調用一個不存在的方法,所以可能是一個錯誤頁面來響應。更好地檢查你的迴應中會發生什麼。

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

在成功調用您使用GetData方法

url: "Default2.aspx/GetData", 

在不成功的呼叫您所呼叫GETDATE方法。

+0

對不起,「Default2.aspx/GetDate」是一個錯字。在這兩種情況下,都會調用「Default2.aspx/GetData」。呼叫失敗的結果仍然是整個頁面。 – klork 2009-12-17 14:24:26

+0

你可以提供樣品或更多的東西來找出概率.. – Krunal 2009-12-18 06:50:52