Данные запроса jQuery (с использованием ajax) из локального сценария php (pgiproxy.php). Этот скрипт захватывает желаемую веб-страницу. Я использую следующие функции PHP для этого:Показывать данные, запрошенные вызовом ajax.load(), после завершения, а не во время вызова
function grabPage($pageURL) {
$homepage = file_get_contents($pageURL);
echo $homepage;
}
Я затем извлечь HTML код мне нужно из возвращаемых данных с помощью JQuery и вставить его в DIV называется #BFX, следующим образом:
$("#btnNewLoadMethod1").click(function(){
$('#temp1').load('pgiproxy.php', { data : $("#formdata").serialize(), mode : "graph"} , function() {
$('#temp').html($('#temp1').find('center').html());
$('#BFX').html($('#temp').html());
});
});
Это прекрасно работает. Я получаю html-данные (это изображение gif), которые мне нужно отображать на экране в правильном div.
Проблема заключается в том, что я могу видеть загрузку html-данных в div (в зависимости от скорости сети), но я хочу, чтобы вставляемый извлеченный код html в #BFX ТОЛЬКО, когда запрос ajax полностью завершен.
Я попытался использовать async:false
и позвонил $('#BFX').html($('#temp').html());
за пределы функции load(), это имело такой же эффект.
HI Reigel, #temp & # temp1 и оба скрытых divs, # temp1 получает полную HTML-страницу, затем я использую метод find() для извлечения нужного HTML-кода, который затем сохраняется в #temp. div #BFX - мой главный дисплей div, он уже содержит изображение на экране. Когда пользователь нажимает кнопку «перезагрузка/обновление», я хочу, чтобы новый HTML-код был вставлен обратно в #BFX (как описано в моем исходном вопросе). Надеюсь, это имеет смысл, Ник. – niczoom
@Nic "* я могу видеть загрузку html-данных в div *" ... когда вы говорите данные, вы имели в виду, что изображение видно по загрузке ... как часть изображения видно мало-помалу в зависимости от скорости сети? – Reigel
да это правильно. Быстро прочитайте мой ответ на Германсона выше. – niczoom