मैं एएसपी.Net के साथ jQuery डेटाटेबल्स प्लगइन की सर्वर साइड कार्यक्षमता का उपयोग करने की कोशिश कर रहा हूं। AJAX अनुरोध वैध JSON लौटा रहा है, लेकिन तालिका में कुछ भी दिखाई नहीं दे रहा है।jQuery डेटाटेबल्स सर्वर साइड प्रोसेसिंग और एएसपी.Net
मुझे मूल रूप से उस डेटा के साथ समस्याएं थीं जो मैं AJAX अनुरोध में भेज रहा था। मुझे एक "अवैध JSON प्राइमेटिव" त्रुटि मिल रही थी। मैंने पाया कि जेएसओएन धारावाहिक के बजाए डेटा को स्ट्रिंग में होना चाहिए, जैसा कि इस पोस्ट में वर्णित है: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/। मैं काफी यकीन है कि ठीक करने का तरीका नहीं था, इसलिए मैं ajax अनुरोध में जोड़ने की कोशिश की: aboves अंत में मैं बाद में अन्य पैरामीटर जोड़ देंगे काम करता है
"data": "{'sEcho': '" + aoData.sEcho + "'}"
। अभी मैं अपनी मेज में कुछ दिखाने के लिए कोशिश कर रहा हूं।
लौटने वाला JSON ठीक दिखता है और मान्य करता है, लेकिन पोस्ट में एसईको अनिर्धारित है, और मुझे लगता है कि तालिका में कोई डेटा लोड क्यों नहीं किया जा रहा है।
तो, मैं गलत क्या कर रहा हूं? क्या मैं भी सही रास्ते पर हूं या मैं बेवकूफ हूं? क्या कोई इस से पहले भाग गया है या कोई सुझाव है?
$(document).ready(function()
{
$("#grid").dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bServerSide":true,
"sAjaxSource": "GridTest.asmx/ServerSideTest",
"fnServerData": function(sSource, aoData, fnCallback) {
$.ajax({
"type": "POST",
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"url": sSource,
"data": "{'sEcho': '" + aoData.sEcho + "'}",
"success": fnCallback
});
}
});
});
एचटीएमएल:
<table id="grid">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>UserID</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
WebMethod:
<WebMethod()> _
Public Function ServerSideTest() As Data
Dim list As New List(Of String)
list.Add("testing")
list.Add("chad")
list.Add("testing")
Dim container As New List(Of List(Of String))
container.Add(list)
list = New List(Of String)
list.Add("testing2")
list.Add("chad")
list.Add("testing")
container.Add(list)
HttpContext.Current.Response.ContentType = "application/json"
Return New Data(HttpContext.Current.Request("sEcho"), 2, 2, container)
End Function
Public Class Data
Private _iTotalRecords As Integer
Private _iTotalDisplayRecords As Integer
Private _sEcho As Integer
Private _sColumns As String
Private _aaData As List(Of List(Of String))
Public Property sEcho() As Integer
Get
Return _sEcho
End Get
Set(ByVal value As Integer)
_sEcho = value
End Set
End Property
Public Property iTotalRecords() As Integer
Get
Return _iTotalRecords
End Get
Set(ByVal value As Integer)
_iTotalRecords = value
End Set
End Property
Public Property iTotalDisplayRecords() As Integer
Get
Return _iTotalDisplayRecords
End Get
Set(ByVal value As Integer)
_iTotalDisplayRecords = value
End Set
End Property
Public Property aaData() As List(Of List(Of String))
Get
Return _aaData
End Get
Set(ByVal value As List(Of List(Of String)))
_aaData = value
End Set
End Property
Public Sub New(ByVal sEcho As Integer, ByVal iTotalRecords As Integer, ByVal iTotalDisplayRecords As Integer, ByVal aaData As List(Of List(Of String)))
If sEcho <> 0 Then Me.sEcho = sEcho
Me.iTotalRecords = iTotalRecords
Me.iTotalDisplayRecords = iTotalDisplayRecords
Me.aaData = aaData
End Sub
लौटाया गया JSON:
यहाँ मेरी jQuery है
{"__type":"Data","sEcho":0,"iTotalRecords":2,"iTotalDisplayRecords":2,"aaData":[["testing","chad","testing"],["testing2","chad","testing"]]}
क्या आपको कभी भी फ़िल्टरिंग, पेजिंग और काम करने के लिए सॉर्टिंग मिलती है? प्रश्न के लिए प्रासंगिक लिंक साझा करने के लिए –