Cross Domain AJAX заявка връща HTML (не jsonp)

Използвам този плъгин: https://github.com/padolsey/jquery.fn/tree/master/cross-domain-ajax/

И това е моят код:

   $.ajax({
      dataType: 'html',
      type: 'GET',
      url: 'http://www.google.com',
      crossDomain: true
  }).done(function(data) { 
       $("#box").html('').append(data);
  });

Доколкото разбирам, въпреки че имам dataType: 'html', аз съм почти сигурен, че това все още ми дава отговор в JSONP.

Искам да мога да взема целия html на страницата, всичко необходимо, за да покажа страницата изцяло. Сравнимо с iframe. Причината, поради която трябва да направя това чрез ajax, е, че в крайна сметка ще трябва да предам параметри на URL адреса, който използвам. Кой е най-добрият начин да върна съдържанието на страница в пълен HTML, така че да мога да покажа страницата? Трябва ли да направя нещо, за да върна и скриптовете/стиловите листове на страниците?

По принцип URL адресът, който извиквам, трябва да бъде върнат, за да мога да добавя връщането към div id и този div id трябва да изглежда точно като страницата, която извиквам, сякаш трябва да заредя тази страница независимо в прозорец на браузъра.

Благодаря!


person jamesdlivesinatree    schedule 17.11.2013    source източник
comment
Написах отговор, свързан с този въпрос тук: Зареждане на кръстосана домейн html страница с jQuery AJAXпоследната, поддържа https   -  person jherax    schedule 26.06.2014


Отговори (2)


Можете да опитате Ajax-cross-origin jQuery плъгин.

http://www.ajax-cross-origin.com/

    $.ajax({
        crossOrigin: true,
        url: url,
        success: function(data) {
            console.log(data);
        }
    });
person Ninioe    schedule 03.08.2014

Посочената добавка използва услуга YQL на Yahoo като прокси за получаване на отдалечена страница. YQL ще върне json и трябва да имате достъп до вашите данни в data.responseText. Това е за ограничени документи за плъгин

За да сте сигурни, можете да регистрирате данните в конзолата и да видите тяхната структура.

Може да направи същото без плъгин, като използва конзолата YQL, за да създаде URL адрес, необходим за задоволяване на вашите нужди за скрапинг, използвайки техния синтаксис XPATH

person charlietfl    schedule 17.11.2013
comment
Направих alert(data.responseText); и получих недефиниран, когато направя предупреждение (данни); Получавам обект Object, така че знам, че получава нещо. - person jamesdlivesinatree; 18.11.2013
comment
трябва да влезете в конзолата, за да видите структурата - person charlietfl; 18.11.2013
comment
плъгинът изглежда доста стар, YQL може да се е променил, откакто е създаден - person charlietfl; 18.11.2013
comment
мислите ли, че би било по-добре, ако заредя външната си страница в iframe и използвам javascript просто за добавяне на параметри към url, който бих искал iframe да зареди? това е само заявка за получаване, която показва статично съдържание - person jamesdlivesinatree; 18.11.2013
comment
всичко зависи каква е целта...ако просто искате малко html без css...можете да използвате прокси на сървъра, за да го получите, тогава правите axax извикване към сървъра - person charlietfl; 18.11.2013