JQuery загрузить с переменной, и разделить на 2 части? - PullRequest
0 голосов
/ 28 октября 2010

Я ищу способ повысить производительность моего кода.В настоящее время я делаю что-то похожее на это:

$(".div1").load("Page.aspx #section1");
$(".div2").load("Page.aspx #section2");

Однако это означает, что мне приходится делать 2 GET запросовЕсть ли способ уменьшить это до 1 запроса, выполнив что-то вроде этого:

var content = $.load("Page.aspx");
$(".div1").html(content("#section1"));
$(".div2").html(content("#section2"));

Cheers!

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Попробуйте это:

$.get('Page.aspx', function(data) {
  var dom = $(data);
  $(".div1").html(dom.find("#section1"));
  $(".div2").html(dom.find("#section2"));
});

Кстати: возможно, вам понадобится элемент-держатель вокруг ваших разделов, потому что dom в моем примере содержит первый уровень вашего тега <body> и find не найдет ничего на этом первом уровне:

<body>
  <div id="holder">
    <div id="section1"></div>
    <div id="section2></div>
  </div>
</body>  
0 голосов
/ 28 октября 2010

Можете ли вы перейти на использование JSON?

$.getJSON('Page.aspx', function(data) {
    $(".div1").html(data.section1);
    $(".div2").html(data.section2);
});

Это было бы быстрее, чем обычное получение и просмотр результата, хотя вам нужно будет кодировать свой ответ с сервера.

...