![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 1 Dołączył: 29.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam
zaczynam bawić się w AJAX. Tak więc bardzo proszę o pomoc przy kodzie: Kod <html> <head> <script type="text/javascript"> var xmlhttp; xmlhttp=new XMLHttpRequest(); function PobierzDane(zrodlo, cel){ if(xmlhttp) { var cel = document.getElementById(cel); xmlhttp.open("GET", zrodlo); xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4){ cel.innerHTML=xmlhttp.responseText; } } } xmlhttp.send(null); } </script> </head> <body> <form name="forma" method="get"><input type="button" value="pobierz zawartosc" onClick="PobierzDane('http://adres.pl/plik.txt', 'div');"></form> <div id="div"> </div> </body> </html> Po wywołaniu nie wyświetla się nic, wyłączałem adblock, kaspersky (moduł antibanner). Tak więc problem jest ewidentnie w kodzie. Dodam, że plik tekstowy, który chcę pobrać znajduje się na serwerze yoyo. Debugger (FF) nie pokazuje żadnych błędów. z góry dziękuję (IMG:style_emoticons/default/winksmiley.jpg) pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat onClick="PobierzDane('http://adres.pl/plik.txt', 'div'); Chyba raczej nie pobierzesz przy pomocy JS czegoś spod innej domeny. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 1 Dołączył: 29.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
wiadomo (IMG:style_emoticons/default/winksmiley.jpg)
zmieniłem to przed wrzuceniem na forum, bo w pliku (tym na serwerze yoyo) znajdują dla mnie jednak ważne dane Ten post edytował bartisz 17.11.2009, 18:01:33 |
|
|
![]()
Post
#4
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
No właśnie.
Bo ogólnie skrypt działa. Sprawdzałem lokalnie u siebie i w divie pokazuje się zawartość pliku tekstowego podanego jako argument f-cji PobierzDane. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 1 Dołączył: 29.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie. Bo ogólnie skrypt działa. Sprawdzałem lokalnie u siebie i w divie pokazuje się zawartość pliku tekstowego podanego jako argument f-cji PobierzDane. znalazłem odpowiedź skrypt wywoływałem na moim komputerze. A dane nie mogą być pobierane z innej domeny (IMG:style_emoticons/default/winksmiley.jpg) wrzuciłem ten skrypt na serwer i ładnie działa pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 6.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
bylo wiele razy mówione ze JS działa tylko lokalnie [w obrębie serwera na którym są pliki] i nie działa zdalnie [nie pobierze informacji z innego serwera]
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Trochę wprowadzacie w błąd.
Sam obiekt XHR ma możliwość pobierania danych z innego serwera/domeny to przeglądarki implementują zabezpieczenie zwane Same Origin Policy i to przeglądarka nie pozwala na pobieranie danych z innych domen, poza tym oczywiście tą opcję można wyłączyć, np. na Chromie, uruchamiany przeglądarkę z opcją Kod --disable-web-security Z programistycznego punktu widzenia problem rozwiązuję się budując bridge. Skrypt PHP na naszej stronie pobiera dane z innego serwera, a my komunikujemy się z tym naszym skryptem przez obiekt XHR. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam przepraszam że odkopuje ten temat ale nie chciałem zakładać nowego.
Skrypt działa mi poprawie ale gdy używam walidatora na stronie w3.org wywala mi 3 błędy o następującej treści: Cytat # Line 35, Column 36: required attribute "ACTION" not specified <form name="forma" method="get"><input type="button" value="pobierz zawartos ✉ The attribute given above is required for an element that you've used, but you have omitted it. For instance, in most HTML and XHTML document types the "type" attribute is required on the "script" element and the "alt" attribute is required for the "img" element. Typical values for type are type="text/css" for <style> and type="text/javascript" for <script>. # Error Line 35, Column 125: document type does not allow element "INPUT" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag …ck="PobierzDane('test.txt', 'div');"></form> ✉ The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element. One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>"). # Error Line 35, Column 132: end tag for "FORM" which is not finished …ierzDane('test.txt', 'div');"></form> ✉ Most likely, you nested tags and closed them in the wrong order. For example <p><em>...</p> is not acceptable, as <em> must be closed before <p>. Acceptable nesting is: <p><em>...</em></p> Another possibility is that you used an element which requires a child element that you did not include. Hence the parent element is "not finished", not complete. For instance, in HTML the <head> element must contain a <title> child element, lists (ul, ol, dl) require list items (li, or dt, dd), and so on. da się coś z tym zrobić? Bo ja nie mogę dojść o co chodzi. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 28 Dołączył: 9.08.2004 Skąd: Stargard Ostrzeżenie: (0%) ![]() ![]() |
Witam,
ad. 1. do tagu <form> dodaj parametr: action="#" i po krzyku. ad. 2. według standardów INPUT`y nie powinny być same sobie tylko zawarte w: "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS". ad. 3. przed </form> powinieneś zamknąć jakiś inny tag, który zaczyna się po <form>, np. zamiast takiego: <form><div>.... </form></div> takie: <form><div>...</div></form> Pozdrawiam |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
a teraz jak już przedostałeś się przez hard kodowanie ajaxa, zapraszamy do zapoznania się z jQuery, prototype, dojo, albo innym frameworkiem, który cały trudny do napisania stuff zrobi za Ciebie.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 2 Dołączył: 5.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Powyższy skrypt działa również jeśli chcę wczytać stronę z tej samej domeny. Teraz mianowicie chodzi mi to, aby z tej wczytanej strony skopiować zawartość DIV'a o identyfikatorze "rightcol" do div'a którego wskażę na stronie z której wywołałem polecenie JS. Przerobiłem trochę skrypt:
Proszę o pomoc! Direct Ten post edytował DirectPL 29.12.2009, 04:11:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 15:16 |