UserJS - dostęp do danych na innym serwerze

w dziale Aplikacje dla Opery
NeVeS napisał(a):

Jak w UserJS pobrać dane z innego serwera/bazy danych?
Czy jest tylko jedna możliwość mianowicie użycie json czy może istnieje jakiś inny sposób?
Jak w Operze zezwolić konkretnemu UserJS odpalonemu na konkretnej stronie możliwość pobrania danych z localhosta przy pomocy json'a ?

nowotny napisał(a):

Originally posted by NeVeS:

Jak w UserJS pobrać dane z innego serwera/bazy danych?


Generalnie nie można... trzeba użyć tej biblioteki...

Originally posted by NeVeS:

Czy jest tylko jedna możliwość mianowicie użycie json czy może istnieje jakiś inny sposób?


Domyślam się że chodzi ci o AJAXa... Json to jest tylko format przechowywania/przesyłania danych... tak jak XML czy HTML... można użyć czego ci się tam podoba pod warunkiem że serwer na drugim końcu to obsługuje...

Originally posted by NeVeS:

Jak w Operze zezwolić konkretnemu UserJS odpalonemu na konkretnej stronie możliwość pobrania danych z localhosta przy pomocy json'a ?


Nie rozumiem pytania... masz na myśli plik na lokalnym komputerze (\plik.txt) czy lokalny serwer http (http://localhost/plik.txt)...? W pierwszym przypadku - generalnie nie można (choć tu można by coś pokombinować z Unitem)... w drugim przypadku - robisz standardowe zapytanie AJAXowe...

NeVeS napisał(a):


Originally posted by nowotny:

Originally posted by NeVeS:

Jak w UserJS pobrać dane z innego serwera/bazy danych?


Generalnie nie można... trzeba użyć tej biblioteki...


Zaraz się jej przyjże bigsmile


Originally posted by nowotny:


Originally posted by NeVeS:

Czy jest tylko jedna możliwość mianowicie użycie json czy może istnieje jakiś inny sposób?


Domyślam się że chodzi ci o AJAXa... Json to jest tylko format przechowywania/przesyłania danych... tak jak XML czy HTML... można użyć czego ci się tam podoba pod warunkiem że serwer na drugim końcu to obsługuje...


Czy oby na pewno? Z tego co mi wiadomo ze względów bezpieczeństwa w Ajaxie można tylko przy pomocy json, robić zapytania z jednej domeny do drugiej, no chyba że miałeś na myśli opakowanie tego w jsonie, wtedy wszystko można przesłać w jego wnętrzu wink.

Originally posted by nowotny:


Originally posted by NeVeS:

Jak w Operze zezwolić konkretnemu UserJS odpalonemu na konkretnej stronie możliwość pobrania danych z localhosta przy pomocy json'a ?


Nie rozumiem pytania... masz na myśli plik na lokalnym komputerze (\plik.txt) czy lokalny serwer http (http://localhost/plik.txt)...? W pierwszym przypadku - generalnie nie można (choć tu można by coś pokombinować z Unitem)... w drugim przypadku - robisz standardowe zapytanie AJAXowe...


Chodzi o lokalny serwer, standardowe zapytanie działa np dla flickera, a jak zmienię adres na localhosta to wprawdzie żadnych błędów wykonania nie ma, ale nie działa. Prawdopodobnie chodzi o zabezpieczenie, tak samo jak próbowałem dodać iframe do wyświetlenia strony znajdującej się na localhoscie to wyświetla błąd zabezpieczeń o próbie dostępu z internetu do komputera wink.

Ogólnie to potrzebuję dodać do pewnej strony przy pomocy Opery informacje pobierane z bazy danych postawionej na localhoscie smile

nowotny napisał(a):

Originally posted by NeVeS:

Z tego co mi wiadomo ze względów bezpieczeństwa w Ajaxie można tylko przy pomocy json, robić zapytania z jednej domeny do drugiej


Ze względów bezpieczeństwa w Ajaxie nie można robić zapytań z jednej domeny do drugiej w ogóle... trzeba użyć wcześniej wspomnianej biblioteki żeby obejść ten problem...
I co to wg. ciebie znaczy "przy pomocy json"...? jak już mówiłem json to tylko format przedstawienia danych a nie protokół...

Originally posted by NeVeS:

Chodzi o lokalny serwer, standardowe zapytanie działa np dla flickera, a jak zmienię adres na localhosta to wprawdzie żadnych błędów wykonania nie ma, ale nie działa. Prawdopodobnie chodzi o zabezpieczenie, tak samo jak próbowałem dodać iframe do wyświetlenia strony znajdującej się na localhoscie to wyświetla błąd zabezpieczeń o próbie dostępu z internetu do komputera


Bez żadnego kodu do obejrzenia trudno mi powiedzieć co ty tam masz i gdzie leży problem...

NeVeS napisał(a):

Originally posted by nowotny:

Originally posted by NeVeS:

Z tego co mi wiadomo ze względów bezpieczeństwa w Ajaxie można tylko przy pomocy json, robić zapytania z jednej domeny do drugiej


Ze względów bezpieczeństwa w Ajaxie nie można robić zapytań z jednej domeny do drugiej w ogóle... trzeba użyć wcześniej wspomnianej biblioteki żeby obejść ten problem...
I co to wg. ciebie znaczy "przy pomocy json"...? jak już mówiłem json to tylko format przedstawienia danych a nie protokół...

Originally posted by NeVeS:

Chodzi o lokalny serwer, standardowe zapytanie działa np dla flickera, a jak zmienię adres na localhosta to wprawdzie żadnych błędów wykonania nie ma, ale nie działa. Prawdopodobnie chodzi o zabezpieczenie, tak samo jak próbowałem dodać iframe do wyświetlenia strony znajdującej się na localhoscie to wyświetla błąd zabezpieczeń o próbie dostępu z internetu do komputera


Bez żadnego kodu do obejrzenia trudno mi powiedzieć co ty tam masz i gdzie leży problem...



Właśnie istnieje ta jedna możliwość pod warunkiem że przesyła się obiekt json smile.
Przykład w jQuery:
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        function(data){
          $.each(data.items, function(i,item){
            $("<img/>").attr("src", item.media.m).appendTo("#images");
            if ( i == 3 ) return false;
          });
        });

Działa bez problemu, problem jest gdy próbuję pobrać json z locallhosta, bo opera to blokuje, tak samo jest dla iframe:
var frame = document.createElement("iframe");
frame.setAttribute("src", "http://www.onet.pl");
divs[j].appendChild(frame);

Znowu działa bez problemu, no ale jak znowu podam za źródło adres localhosta to wyświetla się błąd:
Błąd!
Strona umieszczona w publicznej przestrzeni Internetu próbuje pobrać dane z twojego komputera. Ze względów bezpieczeństwa, automatyczny dostęp został zablokowany.

Próbujesz odwiedzić adres http://127.0.0.1/fquiz/?page=uid&fid=1254006, który jest w tej chwili niedostępny. Upewnij się, czy adres został wpisany poprawnie, a następnie spróbuj ponownie wczytać stronę.
Upewnij się, czy połączenie internetowe jest aktywne i sprawdź, czy inne aplikacje wymagające tego połączenia działają prawidłowo.


Kod tej biblioteki którą podałeś też korzysta z iframe by obejść zabezpieczenia ajaxowe, ale obawiam się że też nie zadziała. Jedynym wyjściem które widzę to po prostu umożliwienie dostępu do mojego serwera na localhoscie z internetu, ale nie za bardzo mi się uśmiecha robić go widocznym w internecie i narażać się na niepotrzebne próby ataku wink. Dlatego szukam innego rozwiązania.