Я использую ASP.net 3.5. Вызов веб-метода с использованием JQuery возвращает действительные данные JSON. Однако, когда я вызываю тот же веб-метод для заполнения HTML-таблицы с помощью плагина JQuery datatables.net, я возвращаю весь 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. Я получаю сообщение об ошибке.