By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,301 Members | 1,999 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,301 IT Pros & Developers. It's quick & easy.

Cant figure out ajax/php problem.

P: n/a
Here's my issue: I have an instant messenger type feature for my site, its
basically an ajax IM feature. I run with a mysql backend on the site, i have
a div on my main page that runs a javascript timer to load the php page via
ajax every 15 seconds which checks the "pinguser" table to see if the user
has any chat requests, then echoes them to a div on the page. what i REALLY
want to do is have the ajax page see if there is a ping for the user, and if
so, pop up a javascript alert or somethign to let the user know he has a
chat request. I tried just echo'ing the javascript to do an alert(); , or
even a window.open. It works if i just run the script by itself, but when it
runs in the div on my main page, i get the rest of the feedback (it displays
the message i echo'ed that said "youve got mail", but the alert box doesnt
pop up. Anyone have any idea what Im doing wrong? I've been googling for 3
days straight and going crazy, never thought to check the groups before.
Oct 22 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a

"John Doe" <do*@dad.cogwrote in message
news:02**********************@news.astraweb.com...
Here's my issue: I have an instant messenger type feature for my site, its
basically an ajax IM feature. I run with a mysql backend on the site, i
have a div on my main page that runs a javascript timer to load the php
page via ajax every 15 seconds which checks the "pinguser" table to see if
the user has any chat requests, then echoes them to a div on the page.
what i REALLY want to do is have the ajax page see if there is a ping for
the user, and if so, pop up a javascript alert or somethign to let the
user know he has a chat request. I tried just echo'ing the javascript to
do an alert(); , or even a window.open. It works if i just run the script
by itself, but when it runs in the div on my main page, i get the rest of
the feedback (it displays the message i echo'ed that said "youve got
mail", but the alert box doesnt pop up. Anyone have any idea what Im doing
wrong? I've been googling for 3 days straight and going crazy, never
thought to check the groups before.
it does no one any good to ficticously guess at what your problem is, and
feckless to divine a solution.

here is what i can say...this is NOT a php question. further, if you just
want to load the html/page again, you don't need javascript to do that! you
need to isolate functionality and use xml to communicate messages to/from
the server, and then use javascript to update only the pertenant area(s) or
the current page in the browser.

either ask your *javascript* question in a *javascript* newsgroup, or get
flak here. either way, no one will do shit for you until you post sample
code.
Oct 22 '07 #2

P: n/a
Why not try another Div for messages or alerts, whenever you need to
display an alert make the DIV visible via CSS.

Oct 25 '07 #3

P: n/a

<et*****@gmail.comwrote in message
news:11**********************@d55g2000hsg.googlegr oups.com...
Why not try another Div for messages or alerts, whenever you need to
display an alert make the DIV visible via CSS.
Well I have a DIV that messages display in that is refreshed via ajax every
5 seconds or so. basically, when someone sends a chat request, it just adds
a record to a mysql database, then the ajax that refreshes that DIV on my
page checks the database to see if there are any new chat requests.
Unfortunately I can't seem to get any type of javascript to work when I call
it in my PHP script that is being called by AJAX. (basically, the ajax
loads up a refresh.php that simply checks the database, then echoes a
message back to the div that says "Chat request incoming from blah blah
blah). When i try to embedd some javascript into the page to do a quick
alert("Youve Got Mail") the alert doesnt pop up, even though the rest of the
script (the php part) executes correctly. If i run the PHP script by itself,
the alert does pop up. I just dont know a whole lot about when javascript
will work and when it won't, i am kind of baffled by the problem. Its just
weird because it works when i run the update script seperately, but not when
run as an AJAX call.
Oct 26 '07 #4

P: n/a
On Fri, 26 Oct 2007 18:17:00 +0200, John Doe <do*@dad.cogwrote:
>
<et*****@gmail.comwrote in message
news:11**********************@d55g2000hsg.googlegr oups.com...
>Why not try another Div for messages or alerts, whenever you need to
display an alert make the DIV visible via CSS.

Well I have a DIV that messages display in that is refreshed via ajax
every
5 seconds or so. basically, when someone sends a chat request, it just
adds
a record to a mysql database, then the ajax that refreshes that DIV on my
page checks the database to see if there are any new chat requests.
Unfortunately I can't seem to get any type of javascript to work when I
call
it in my PHP script that is being called by AJAX. (basically, the ajax
loads up a refresh.php that simply checks the database, then echoes a
message back to the div that says "Chat request incoming from blah blah
blah). When i try to embedd some javascript into the page to do a quick
alert("Youve Got Mail") the alert doesnt pop up, even though the rest of
the
script (the php part) executes correctly. If i run the PHP script by
itself,
the alert does pop up. I just dont know a whole lot about when
javascript
will work and when it won't, i am kind of baffled by the problem. Its
just
weird because it works when i run the update script seperately, but not
when
run as an AJAX call.
Ask about this in comp.lang.javascript, mentioning 'executing code
retrieved by XMLHTTPRequest'.
Short answer: inline code will execute on a pageload, after the page has
loaded you can add all the inline code with js you want, it won't fire
unless explicitly called by some script already running or scheduled to
run. This had nothing with the fact wether or not this is done by PHP, or
just a static HTML page retrieving a static HTML snippet.
--
Rik Wasmus
Oct 26 '07 #5

P: n/a
Ok, seriously, without code, we're not going to be able to help at all.

~A!

John Doe took the time to say:
<et*****@gmail.comwrote in message
news:11**********************@d55g2000hsg.googlegr oups.com...
>Why not try another Div for messages or alerts, whenever you need to
display an alert make the DIV visible via CSS.

Well I have a DIV that messages display in that is refreshed via ajax every
5 seconds or so. basically, when someone sends a chat request, it just adds
a record to a mysql database, then the ajax that refreshes that DIV on my
page checks the database to see if there are any new chat requests.
Unfortunately I can't seem to get any type of javascript to work when I call
it in my PHP script that is being called by AJAX. (basically, the ajax
loads up a refresh.php that simply checks the database, then echoes a
message back to the div that says "Chat request incoming from blah blah
blah). When i try to embedd some javascript into the page to do a quick
alert("Youve Got Mail") the alert doesnt pop up, even though the rest of the
script (the php part) executes correctly. If i run the PHP script by itself,
the alert does pop up. I just dont know a whole lot about when javascript
will work and when it won't, i am kind of baffled by the problem. Its just
weird because it works when i run the update script seperately, but not when
run as an AJAX call.

Dec 20 '07 #6

P: n/a
Rob
On Oct 22, 4:37 pm, "Steve" <no....@example.comwrote:
"John Doe" <d...@dad.cogwrote in message

news:02**********************@news.astraweb.com...
Here's my issue: I have an instant messenger type feature for my site, its
basically an ajax IM feature. I run with a mysql backend on the site, i
have a div on my main page that runs a javascript timer to load the php
page via ajax every 15 seconds which checks the "pinguser" table to see if
the user has any chat requests, then echoes them to a div on the page.
what i REALLY want to do is have the ajax page see if there is a ping for
the user, and if so, pop up a javascript alert or somethign to let the
user know he has a chat request. I tried just echo'ing the javascript to
do an alert(); , or even a window.open. It works if i just run the script
by itself, but when it runs in the div on my main page, i get the rest of
the feedback (it displays the message i echo'ed that said "youve got
mail", but the alert box doesnt pop up. Anyone have any idea what Im doing
wrong? I've been googling for 3 days straight and going crazy, never
thought to check the groups before.

it does no one any good to ficticously guess at what your problem is, and
feckless to divine a solution.

here is what i can say...this is NOT a php question. further, if you just
want to load the html/page again, you don't need javascript to do that! you
need to isolate functionality and use xml to communicate messages to/from
the server, and then use javascript to update only the pertenant area(s) or
the current page in the browser.

either ask your *javascript* question in a *javascript* newsgroup, or get
flak here. either way, no one will do shit for you until you post sample
code.
John, assuming you're using 'prototype' for your AJAX, it has a
"evalScripts: true" parameter - have you set this?

If not, you may be running into the same problem that this parameter
tries to deal with.

Either way, I would suggest converting your code to use prototype.
You can then call your <divcontent in a single line of code, and not
have to worry about what's going on in the background too much.

Rob.
Dec 20 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.