🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
4 messages
4 total messages Started by bobas Sat, 13 Nov 2010 17:53
javascript - pobieranie pliku - jakiś koszmar!!! RATUNKU!!!
#50384
Author: bobas
Date: Sat, 13 Nov 2010 17:53
51 lines
2518 bytes
Witam

Chcę ładować fragmenty strony z serwera (pobierając asynchronicznie). 
Postawiłem nginx na localhost i w przeglądarce wyświetla wszystkie pliki 
jakie skopiowałem do katalogu nginx\html\. Ale skrypt mi nie chce 
działać!!! Męczę się z nim już 2 dzień!!! Proszę o pomoc w tej sprawie. 
Niżej zawartość mojego pliku index.html:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
    <title>test funkcji z parametrami</title>
    <meta name="Keywords" content=""/>

</head>
    <div id="page div"></div>


    <script type="text/javascript">
       var lConnection = null;

       function downloadPage(aPath)
       {
          lConnection = new XMLHttpRequest();
          if(lConnection)
             return;
          lConnection.onreadystatechange = downloaded("page");
          lConnection.open("GET", aPath);
          lConnection.send(null);
       }

       function downloaded(aType)
       {
          if(!lConnection || lConnection.readyState != 4)
             return;

          if(aType != "page")
          {
             var lPage = document.getElementById("page div");
             lPage.innerHTML = lConnection.responseText;
          }
       }

       var lPage = "/strona - strona gluvna.txt";
    </script>
    <form name="get" method="get"><input type="button" value="pobierz 
zawartosc" onClick="downloadPage(lPage);"></form>
</body>
</html>
Re: javascript - pobieranie pliku - jakiś koszmar!!! RATUNKU!!!
#50386
Author: bobas
Date: Sun, 14 Nov 2010 15:17
35 lines
2661 bytes
Dzięki za odpowiedź!!!

W dniu 2010-11-15 10:28, marcoos pisze:
> On Nov 13, 6:53 pm, bobas<bobasko...@o2.pl>  wrote:
>> <?xml version="1.0" encoding="utf-8"?>
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
>> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
>
> Po co ci taki doctype? Czy wysyłasz ten dokument z XML-owym typem
> MIME? (Jeśli nie rozumiesz pytania, to znaczy, że na 99,9% tego nie
> robisz).

Nie wiem co to znaczy! Ale ja takie nagłówki stosuję od czasów studiów 
(wtedy xhtml to była świeżynka). I myślałem, że tak jest dobrze i 
kompatybilnie.

>>            lConnection.onreadystatechange = downloaded("page");
>
> To jest wywołanie funkcji. Przypisujesz więc do onreadystatechange to,
> co funkcja downloaded zwraca. Czyli nic (a dokładniej: undefined).
>
> Powinieneś tu przypisać _referencję_ do funkcji, a nie wartość, którą
> ona zwraca.
>
> blabla.onreadystatechange = downloadedPage;

Problem w tym, że onreadystatechange musi wywołać downloaded z jakimś 
identyfikatorem np. "page". Bo chcę mieć jedną funkcję do odbioru 
danych. Myślałem, że się da, bo przecież w przypisaniu funkcji klawisza, 
to działa, więc czemu nie miało by działać w przypadku onreadystatechange???

> Ewentualnie mógłbyś przerobić funkcję downloaded tak, żeby zwracała
> funkcję.

Ale czy da się zwrócić funkcję z zadanym parameterem do wywołania?
Re: javascript - pobieranie pliku - jakiś koszmar!!! RATUNKU!!!
#50385
Author: marcoos
Date: Mon, 15 Nov 2010 09:28
29 lines
2257 bytes
On Nov 13, 6:53 pm, bobas <bobasko...@o2.pl> wrote:
> <?xml version="1.0" encoding="utf-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Po co ci taki doctype? Czy wysyłasz ten dokument z XML-owym typem
MIME? (Jeśli nie rozumiesz pytania, to znaczy, że na 99,9% tego nie
robisz).

Wywal to, zmień na HTML 4.01 Strict, HTML 5 lub w ostateczności XHTML
1.0.

>           lConnection.onreadystatechange = downloaded("page");

To jest wywołanie funkcji. Przypisujesz więc do onreadystatechange to,
co funkcja downloaded zwraca. Czyli nic (a dokładniej: undefined).

Powinieneś tu przypisać _referencję_ do funkcji, a nie wartość, którą
ona zwraca.

blabla.onreadystatechange = downloadedPage;

(Treść downloadedPage wymyśl już sam ;-))

Ewentualnie mógłbyś przerobić funkcję downloaded tak, żeby zwracała
funkcję.

--
marcoos.com
Re: javascript - pobieranie pliku - jakiś koszmar!!! RATUNKU!!!
#50387
Author: A.L.E.C
Date: Tue, 16 Nov 2010 08:00
16 lines
1726 bytes
On 14.11.2010 16:17, bobas wrote:

> Problem w tym, że onreadystatechange musi wywołać downloaded z jakimś
> identyfikatorem np. "page". Bo chcę mieć jedną funkcję do odbioru
> danych. Myślałem, że się da, bo przecież w przypisaniu funkcji klawisza,
> to działa, więc czemu nie miało by działać w przypadku
> onreadystatechange???

lConnection.onreadystatechange = function() { downloaded("page"); }

-- 
Aleksander 'A.L.E.C' Machniak
LAN Management System Developer [http://lms.org.pl]
Roundcube Webmail Developer  [http://roundcube.net]
---------------------------------------------------
PGP: 19359DC1 @@ GG: 2275252 @@ WWW: http://alec.pl
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads