ďťż
 
Zwracanie wartości, z funkcji, w funkcji [Js, Ajax] ďťż
 
Zwracanie wartości, z funkcji, w funkcji [Js, Ajax]
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Zwracanie wartości, z funkcji, w funkcji [Js, Ajax]



Michal2000 - 24-12-2006 00:43
Zwracanie wartości, z funkcji, w funkcji [Js, Ajax]
  Witam,
Ostatnio, dostałem, taki kod Ajax, pobierający
treść strony, i zapisującym, tą treść, w obiekcie
o jakimś ID. Kod wygląda tak:

function getData(dataSource, divID)
{
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new
ActiveXObject("Microsoft.XMLHttp");
}
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
document.getElementById(divID).innerHTML =
XMLHttpRequestObject.responseText;
delete XMLHttpRequestObject;
XMLHttpRequestObject = null;
}
}
XMLHttpRequestObject.send(null);
}
}

I mam takie pytanie, czy da sie, przerobić tak
ten kod, aby zamiast zapisywać wartość z
XMLHttpRequestObject.responseText w jakimś obiekcie,
funkcja zwracała kod, za pomocą "return", próbowałem,
wstawić w funkcję "return", lecz niestety nie działało
to, dlatego, że XMLHttpRequestObject.responseText
znajduje sie w funkcji, która znajduje się właśnie w
funkcji getData.

Z góry dziękuje za odpowiedz.
Pozdrawiam Michał Dobaczewski

przepraszam, jesli wyslalem, dwie wiadomosci, ale mam ostatnio problemy
z internetem





mrrau - 24-12-2006 00:43

 
Michal2000 napisał(a):
> Witam,
> Ostatnio, dostałem, taki kod Ajax, pobierający
> treść strony, i zapisującym, tą treść, w obiekcie
> o jakimś ID. Kod wygląda tak:
[...]
> przepraszam, jesli wyslalem, dwie wiadomosci, ale mam ostatnio problemy
> z internetem

Właściwie to masz też taki problem, że dostałeś taki kod Ajax a
nie napisałeś go samodzielnie.
Nie rozumiesz tego kodu. Ale napiszę ci taką odpowiedź:

Nie da się tam użyć return, dlatego że jest to połączenie
asynchroniczne. Samo wywołanie funkcji getData kończy zaraz po
wywołaniu metody XMLHttpRequestObject.send(null);

Powinieneś do wywołania getData dodać jeszcze jeden argument,
funkcję która zostanie wywołana po zakończeniu połącznia (tzw.
callback). Funkcję tę należałoby wywołać np. metodą aplly i jako
argument dodać wynik połączenia.




ethanak - 24-12-2006 00:43

  On 2006-10-03 23:19, mrrau wrote:
[...]
> Nie da się tam użyć return,

da się

> dlatego że jest to połączenie
> asynchroniczne.

no to trzeba zmienić na synchroniczne.

ethanak
--
mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');




Michal2000 - 24-12-2006 00:43

  mrrau napisał(a):

> Właściwie to masz też taki problem, że dostałeś taki kod Ajax a
> nie napisałeś go samodzielnie.
> Nie rozumiesz tego kodu. Ale napiszę ci taką odpowiedź:

Dziękuję wszystkim za odpowiedzi, i zgodzę sie z tym, w Javascripcie,
ogólnie nie programuje, dlatego, nie rozmówiem, sporej części, kody,
mogę sie jedynie domyślać do czego one służą.





Michal2000 - 24-12-2006 00:43

  hmm... A moglby mi ktoś, tak dokładniej podpowiedzieć jak to zrobić?




ethanak - 24-12-2006 00:43

  Michal2000 napisał(a):
> hmm... A moglby mi ktoś, tak dokładniej podpowiedzieć jak to zrobić?

Zamiast:

if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
document.getElementById(divID).innerHTML =
XMLHttpRequestObject.responseText;
delete XMLHttpRequestObject;
XMLHttpRequestObject = null;
}
}
XMLHttpRequestObject.send(null);
}

po prostu:

if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", dataSource,false);
XMLHttpRequestObject.send(null);
return XMLHttpRequestObject.responseText;
}
return null;

ethanak
--
mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
/* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie.
To jest ewidentna bezczelność!
S. Friedmann/J. Kofta */




Michal2000 - 24-12-2006 00:43

  ethanak napisał(a):
> ethanak

Dziekuje bardzo za opdowiedz.
Pozdrawiam :)




Michal2000 - 24-12-2006 00:43

  I mam jeszcze jedno pytanko, moziwe, jest pobranie kody, jakiejs strony,
znajdujacej sie poza sererem, na ktorym uruchamiany jest skrypt?




ethanak - 24-12-2006 00:43

  Michal2000 napisał(a):
> I mam jeszcze jedno pytanko, moziwe, jest pobranie kody, jakiejs strony,
> znajdujacej sie poza sererem, na ktorym uruchamiany jest skrypt?

Normalnie nie. A nienormalnie... no, dla uproszczenia załóż że nie :)

ethanak
--
mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
/* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie.
To jest ewidentna bezczelność!
S. Friedmann/J. Kofta */




Michal2000 - 24-12-2006 00:43

  ethanak napisał(a):
> Michal2000 napisał(a):
>> I mam jeszcze jedno pytanko, moziwe, jest pobranie kody, jakiejs
>> strony, znajdujacej sie poza sererem, na ktorym uruchamiany jest skrypt?
>
> Normalnie nie. A nienormalnie... no, dla uproszczenia załóż że nie :)
>
> ethanak

No, chciałem, "odciążyć", moja aplikacje, i zeby kod strony www pobierał
użytkownik, a PHP, tylko wyciągał z niego odpowiednie dane :)
A wiec można jakoś nienormalnie to zrobić :) Może jakąś podpowiedz link
fajny, albo chociaż słowo kluczowe jakie do google wpisać ;D




ethanak - 24-12-2006 00:43

  Michal2000 napisał(a):
> ethanak napisał(a):
>
>> Michal2000 napisał(a):
>>
>>> I mam jeszcze jedno pytanko, moziwe, jest pobranie kody, jakiejs
>>> strony, znajdujacej sie poza sererem, na ktorym uruchamiany jest skrypt?
>>
>>
>> Normalnie nie. A nienormalnie... no, dla uproszczenia załóż że nie :)
>>
>> ethanak
>
>
> No, chciałem, "odciążyć", moja aplikacje, i zeby kod strony www pobierał
> użytkownik, a PHP, tylko wyciągał z niego odpowiednie dane :)

A PHP też działa po stronie klienta? Nie. No więc gdzie tu jest odciążenie?

> A wiec można jakoś nienormalnie to zrobić :) Może jakąś podpowiedz link
> fajny, albo chociaż słowo kluczowe jakie do google wpisać ;D

Pisałem: załóż że nie. Jest to możliwe ale tylko w pewnych szczególnych
przypadkach (np. podpisany skrypt dla Mozilli, podpisany ActiveX dla IE)

ethanak
--
mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
/* Pisze człowiek ambitnie, a tu przychodzi prostak i wszystko rozumie.
To jest ewidentna bezczelność!
S. Friedmann/J. Kofta */




Michal2000 - 24-12-2006 00:43

  ethanak napisał(a):

> A PHP też działa po stronie klienta? Nie. No więc gdzie tu jest odciążenie?

Tak, ale PHP pobiera dane za pomoca file_get_contents(); a chialem, zeby
Ajax pobieral kod strony, i otwieral strone PHP, wysylajac w zmiennej
kod HTML, PHP, by wciagal dane z tego Kodu, i wyswietal wynik, a Ajax by
go ladnie wstawial na strone, ale niestety, bede musial, zrobic to w
Javi'e...




Michal2000 - 24-12-2006 00:43

  Michal2000 napisał(a):
> ethanak napisał(a):
>
>> A PHP też działa po stronie klienta? Nie. No więc gdzie tu jest
>> odciążenie?
>
> Tak, ale PHP pobiera dane za pomoca file_get_contents(); a chialem, zeby
> Ajax pobieral kod strony, i otwieral strone PHP, wysylajac w zmiennej
> kod HTML, PHP, by wciagal dane z tego Kodu, i wyswietal wynik, a Ajax by
> go ladnie wstawial na strone, ale niestety, bede musial, zrobic to w
> Javi'e...

tzn PHP, dziala po stronie serwera :)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) Ms SQL Server 2000 i błąd przy nie wypełnionej wartościo w polusmalldatetime Jak wyswietlic dane z dwoch tabel gdy dla jednej z nich jest brak jest danej wartosci [mysql 4.0.24] INSERT do tabeli z automatyczną inkrementacją wartości pola. =?iso-8859-1?q?mysql_domyslna_wartosc_kom=F3rki?= [Oracle] PLSQL - wartosc z innego pola w zmienianaym rekordzie [MySQL] wektor wartosci jako typ danej? dynamiczny sql w plsql, szukanie wartosci w kolumnach count(*), jak pokazać wiersze bez wartości przy grupowaniu
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tejsza.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com