Wyświetlanie jednej sekcji ze strony na innej


(Czajo) #1

Witam. Zajmuję się wprowadzaniem danych na sklep internetowy. jeden z producentów posiada konfigurator swoich produktów na stronie. Chciałbym wyświetlić tylko jedną sekcję z ich strony u siebie w sklepie. Próbowałem tych sposobów:

$( "#result" ).load( "ajax/test.html #container" );

$("a").on("click", function() {

  $.get('http://www.ton.eu/pl/produkty/detail/krzeslo-leaf').then(function(responseData) {

    var $responseData = $(responseData.html);

    var div = $responseData.find('#product-configuration').html();

    if (div.length > 0) {

      $('.new-projects').append(div);

    }

  });

});

oraz ładowania strony przez iframe o określonych koordynatach, jednak bezskutecznie

 

Przykładowa strona producenta: http://www.ton.eu/pl/produkty/detail/krzeslo-leaf

Co chciałbym wyciągnąć: 

Jak mogę to zrobić?


(Fizyda) #2

Nie działa ponieważ szukając po ‘#product-configuration’ szukasz id o nazwie ‘product-configuration’ a takiego nie masz, masz klase. więc musisz zamiast ‘#’ użyć ‘.’.


(Czajo) #3

z kropką też nie działa


(Fizyda) #4

Nie mam teraz możliwości dokładnie przyjrzeć się skryptowi ale masz masę błędów. Nie ma takiego propertisa jak html dla obiektów dom w czystym js. Użycie funkcji get nie jest raczej zgodne z dokumentacją jq. Chyba że używasz jakiejś starej wersji jq.

 

Wrócę za jakąś godzinkę to jak będę miał chwilę zerknę do tego na spokojnie.


(kostek135) #5

@OP
Jak dla mnie to może chodzić o to, że twój sklep i ten drugi mają różne domeny. Nie wykonasz wtedy AJAX, bo się nie da pomiędzy różnymi domenami (kwestia bezpieczeństwa, szukaj hasła CORS). Możesz to obejść tworząc proxy. Tworzysz u siebie lokalnie serwis REST, który pod spodem z poziomu kodu serwera połączy się do tej strony i pobierze dane, a następnie zwróci je do JS.


(Fizyda) #6

Dokładnie tak jak kostek napisał, nie da się zrobić ajaxowego zapytania do innej domeny, z tego co pamiętam chyba da się zrobić tylko jsonowe zapytanie. Musisz użyć własnego proxy.