Клиентская веб-служба - PullRequest
0 голосов
/ 18 ноября 2010

Справочная информация:

У меня есть файл HTML, который принимает несколько параметров и использует JavaScript для динамического отображения страницы. Эта страница извлекает данные из нескольких статических локальных XML-файлов и обрабатывает их.

Например, service.html? ID? 123 возвращает страницу, специфичную для идентификационного номера 123.

Это легко и делается.

Проблема:

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

$. Аякс ({

      type: "GET",
      url: "service.html?ID?123",
      success: function(msg){
          alert( msg );
      }   

});

Однако, это корректно возвращает мою html-страницу до запуска моего javascript. Кто-нибудь может придумать обходные пути для чего-то подобного? Я не хочу запускать результирующие данные в родительском.

Возможное решение:

Я подумываю о том, чтобы запустить «службу» в скрытом iframe и записать ее в повторно используемый статический html-файл, который я могу использовать через ajax. Является ли что-то подобное жизнеспособным? nope : Теперь, когда я об этом думаю - я не думаю, что это жизнеспособное решение, потому что вся обработка в iframe взяла бы под контроль поток javascript на главной странице. Это именно то, чего я пытаюсь избежать

Edit: Кроме того, веб-работники не будут работать из-за среды, в которой я нахожусь (.hta).

Ответы [ 2 ]

0 голосов
/ 18 ноября 2010

Если я понял, что вам нужно ..

$(function() {

    $.ajax({

          type: "GET",
          url: "service.html?ID?123",
          success: function(msg){
              alert( msg );
          }   

    });
 }
);

Запустится, когда вся страница загружена, но не отрендерена.Однако любая ссылка на элемент, сделанная из функции успеха Ajax, будет в порядке.

0 голосов
/ 18 ноября 2010

Решение IFRAME должно работать. Просто поместите скрытый IFRAME на страницу, а затем загрузите страницу в нее:

$("#the_iframe").attr("src", "service.html?ID?123");  

Это запустит код JavaScript, связанный со страницей. Затем вы можете получить доступ к этой странице (сгенерированный контент):

var data = $("#the_iframe").contents().find("#data_container");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...