Carregando uma visão parcial no ASP.NET MVC usando o jQuery - qual método é preferido?

StackOverflow https://stackoverflow.com/questions/1533558

  •  20-09-2019
  •  | 
  •  

Pergunta

Em perguntas muito recentes, eu estava tendo problemas com isso. Meu código era:

$("#SearchResults").load("/Invoice/InvoiceSearchResults/");

E fui aconselhado a usar isso:

$.ajax({
        url: "/Invoice/InvoiceSearchResults/",
        type: 'GET',
        dataType: 'html', // <-- to expect an html response
        success: doSubmitSuccess
    });

com:

function doSubmitSuccess(result) {

$(".SearchResults").html(result);    

}

E então alguém gentilmente tentou me ajudar com:

$.get(postUrl, function(data) {
            $("#posts").append(data);
            $('#ajaxLdMore').addClass('hideElement');
            $('#ldMore').removeClass('hideElement');
        });

Acontece que meu problema era que estou no idiota Abd estava usando o seletor '#' em vez de '".

Só estou me perguntando devo trocar meu código por algum desses?

Existem prós e contras reais de cada abordagem ou é preferência?

Existe uma maneira melhor que ninguém ainda postou?

Não estou tentando abrir um grande debate (não acho :)) - só quero entender um pouco mais sobre isso.

Obrigado

Foi útil?

Solução

Ambos funcionarão, mas eu pessoalmente confio na solução jQuery, pois é mais durável a longo prazo do que uma solução do Microsoft Ajax. A mudança para o jQuery, mesmo pela EM, é muito óbvia, pois eles adotaram a biblioteca fortemente.

Outras dicas

O uso de $ .ajax oferece mais flexibilidade. Acho isso particularmente útil para manuseio de erros.

Além disso, você pode combiná -lo em um único bloco de código se não estiver reutilizando o DOSUBMITSUCCESS em outro lugar

$.ajax({
        url: "/Invoice/InvoiceSearchResults/",
        type: 'GET',
        dataType: 'html', // <-- to expect an html response
        success: function(result){
            $(".SearchResults").html(result);
        },
        error: function(err){
            //handle errors here
        }
    }); 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top