J'utilise ASP.net 3.5. Un appel à une méthode Web à l'aide de JQuery renvoie des données JSON valides. Cependant, lorsque j'appelle la même méthode Web pour remplir une table html en utilisant le plugin JQuery datatables.net, je récupère tout le HTML de la page.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);
}
});
});
});
Unsuccessful appel 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
});
}
});
});
Toute réflexion sur la raison pour laquelle le second appel retourne html? J'ai essayé d'ajouter contentType: "application/json; charset = utf-8", au second appel ajax. J'ai une erreur
Désolé, le "Default2.aspx/GetDate" est une faute de frappe. Dans les deux cas, "Default2.aspx/GetData" est appelé. Le résultat de l'appel infructueux est toujours la page entière – klork