Pergunta

Estou usando asp.net 3.5. Uma chamada para um webMethod usando o jQuery retorna dados JSON válidos. No entanto, quando chamo o mesmo webMethod para preencher uma tabela HTML usando o plug -in JQuery Datatables.net, retiro todo o HTML da página.

**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);

      }
    });
  });
});

Chamada de jQuery malsucedida:

$(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
        });
        }
    });
});

Alguma idéia de por que a segunda chamada retorna HTML? Tentei adicionar contentType: "Application/json; charset = utf-8", para a segunda chamada AJAX. Eu recebo um erro.

Foi útil?

Solução

ContentType: o aplicativo/json será necessário. Qual é o erro que você recebe ao fornecer isso?

Talvez haja um erro de codificação; Vejo Como definir a codificação no .getjson jQuery

Outras dicas

Pode ser que você esteja chamando um método que não existe, por isso pode ser uma página de erro que está chegando em resposta. Melhor verifique o que está por vir em sua resposta.

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

Em chamada bem -sucedida, você está usando o método getData

url: "Default2.aspx/GetData",

Na chamada malsucedida, você está chamando o método getDate.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top