Carregando uma visão parcial no ASP.NET MVC usando o jQuery - qual método é preferido?
-
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
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
}
});