При использовании JQuery html () он возвращает содержимое перед использованием изменения Ajax - PullRequest
0 голосов
/ 20 июля 2011

У меня есть div для хранения содержимого статьи, и его можно изменить с помощью ajax.

Мне нужно содержимое этого div, и я использую функцию jquery html (), но он может только извлечь содержимое перед изменением.

Как я могу получить немедленный контент, используя jquery?

Обновление:

Он хорошо работает на моей собственной странице, и проблема связана с скриптом кнопки «поделиться им в Facebook» с других сайтов.

Это пример сценария:

  <script type="text/javascript" charset="utf-8">
(function(){
  var _w = 72 , _h = 16;
  var param = {
    url:'dachaocai.com/bench/2',
    type:'3',
    count:'1', 
    appkey:'', 
    title:$('#title').html()+'(Bench->'+$('#b_name').html()+')'+'http://www.dachaocai.com/bench/2', 
    pic:'', 
    ralateUid:'', 
    rnd:new Date().valueOf()
  }
  var temp = [];
  for( var p in param ){
    temp.push(p + '=' + encodeURIComponent( param[p] || '' ) )
  }
  document.write('<iframe allowTransparency="true" frameborder="0" scrolling="no" src="http://hits.sinajs.cn/A1/weiboshare.html?' + temp.join('&') + '" width="'+ _w+'" height="'+_h+'"></iframe>')
})()
</script>

Я использую html (), чтобы получить заголовок статьи, чтобы поделиться, но это всегда старый. Есть ли способ решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 20 июля 2011

Вы можете использовать Jquery для выполнения асинхронного вызова на сервере, а затем в обратном вызове вы можете добавить Html к div.Надеюсь, это поможет.Если вы отправите какой-нибудь код, я могу обновить ответ.

РЕДАКТИРОВАТЬ: Создать div, чтобы поместить результат в:

<div id='result'></div>

var url = "http://hits.sinajs.cn/A1/weiboshare.html?' + temp.join('&');
$.get(url, function(data){
    $('#result').html(data);
});

Таким образом, вы можете получитьHTML с сервера, не имея осложнений iframe.Затем вы можете прочитать данные из div

0 голосов
/ 20 июля 2011

набор кэш: ложь

$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

http://api.jquery.com/jQuery.ajax/

0 голосов
/ 20 июля 2011
<div id="div">

</div>

затем вставьте новые данные в этот div в обратном вызове ajax success и попробуйте это -

var htmlAfterChange = $('#div').html();
alert(htmlAfterChange );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...