Got 1 question and it's troubling me totally. I please someone to
answer me.
I'm building one project over php/javascript and it's not problem to
load practically anything but 1 thing is spending my nerves totally.
Question is:
Is it possible somehow to retrieve data in real time mode? I just
don't wan to use setTimeout or setInterval methods. Something like
data.onUpdate or something like that hehe :)
Thanks for helpin me out.
Cheers!
and with some context ?
(when does the datas have to be updated ?
and where the new datas are ?
and where to display these last ones ?)
Ajax ?
Js :
====
var data = 'hello ';
html :
======
your name : <input on change="alert(data+this.value);">
--
sm
I assume that by "retrieving data" you mean fetching data from a server
with JavaScript, and that you would like data updates to be pushed from
the server instead of pulled. Would this be of any help to you?
http://en.wikipedia.org/wiki/Comet_(programming)
It's possible, but implementation is a little tricky (on both ends), and
not an easy task for beginners.
- Conrad
Because a server can't initiate a transfer, one would initially think
that there's no way, but there is, yes, and a quite good one, in fact:
You just need to make sure that there's *always* a (one) pending XHR.
Upon entering (onload) of the page:
1.- Post the XHR that will receive the 'real time' data.
2.- This XHR will complete with either a timeout or because some 'real
time' data has arrived.
3.- Post inmediatly after completion ('2') another XHR (goto '1').
As you can see, whenever/if the server has some 'real time' data to
send to the client, it can do so through the currently open/pending
XHR.
The latest firefoxes can have up to six different, concurrent XHRs
ongoing, most other browsers can have up to 4. I don't know about IE,
though.
See http://preview.tinyurl.com/6mm5tm
--
Jorge.
> On Sep 21, 12:23 pm, Nevio <nve...@gmail.com> wrote:
>>
>> Question is:
>>
>> Is it possible somehow to retrieve data in real time mode? I just
>> don't wan to use setTimeout or setInterval methods. Something like
>> data.onUpdate or something like that hehe :)
>
>
> Because a server can't initiate a transfer, one would initially think
> that there's no way, but there is, yes, and a quite good one, in fact:
>
> You just need to make sure that there's *always* a (one) pending XHR.
> Upon entering (onload) of the page:
>
> 1.- Post the XHR that will receive the 'real time' data.
> 2.- This XHR will complete with either a timeout or because some 'real
> time' data has arrived.
> 3.- Post inmediatly after completion ('2') another XHR (goto '1').
Actually, you don't need XHR at all. It's easier to just push a <script>
tag to a hidden frame. That way, you don't need to repeat requests; you
just keep appending to a single reply (and you can do that from a
different server than your "main" page).
--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
Sounds good, but I don't get it or I'm missing something: you request
a script, but it's not until it has been 'completely' received that it
executes (right?), it holds the wanted data, and it has to re-request
another script ?
If so, there are -as well- going to be multiple requests... or not ?
And what about security matters ? What if somebody manages to inject
one of his own scripts instead of yours ? Because one thing is getting
the wrong data and another different one is letting the door open to
code injection attacks.
--
Jorge.
Oh... thanks guys for this! I will try to do it over pending XHR but
kinda
somehow i see flex ( AS ) as currently the best solution. I'm doing
some huge chat system
and kinda better is to just start with AS as I think. But for
notifiers and rest of it
ill use this pending XHR methods. Thanks Jorge and rest of you who
wanted to help me out.
I dun ever ever ever use iframe. If I need it, I use div instead lol.
That thing is old and full of security holes as I know.
Cheers