Carga de jQuery com variável e dividido em 2 partes?
-
27-09-2019 - |
Pergunta
Estou procurando uma maneira de aumentar o desempenho do meu código. Atualmente eu faço algo semelhante a isso:
$(".div1").load("Page.aspx #section1");
$(".div2").load("Page.aspx #section2");
No entanto, isso significa que estou tendo que fazer 2 GET
solicitações de. Existe alguma maneira de reduzir isso a 1 solicitação fazendo algo assim:
var content = $.load("Page.aspx");
$(".div1").html(content("#section1"));
$(".div2").html(content("#section2"));
Felicidades!
Solução
Experimente isso:
$.get('Page.aspx', function(data) {
var dom = $(data);
$(".div1").html(dom.find("#section1"));
$(".div2").html(dom.find("#section2"));
});
BTW: Provavelmente você precisará de um elemento de suporte em torno de suas seções, porque dom
no meu exemplo, segura o primeiro diário do seu <body>
tag conteúdo e find
Não encontrará nada neste primeiro nível:
<body>
<div id="holder">
<div id="section1"></div>
<div id="section2></div>
</div>
</body>
Outras dicas
Você pode mudar para usar o JSON?
$.getJSON('Page.aspx', function(data) {
$(".div1").html(data.section1);
$(".div2").html(data.section2);
});
Isso seria mais rápido do que fazer um GET regular e atravessar o resultado, embora você precise codificar sua resposta do servidor.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow