[Webinar] Streamline your web hosting managementRegister Today


Tutorial: SetInterval() with Node.js http

Posted on 2013-11-02
Medium Priority
Last Modified: 2013-11-02
Dear Experts,

I try to convert my simple setInterval.html  html/javascript code into Node.js
for example as follows

//---[b]setInterval.html[/b]  ------Example setInterval classic html/javascipt code for client-side
<script type="text/javascript" >
function init(){
document.write('<a href="http://www.yahoo.com/us" >Click here for Yahoo</a><br>');
<body onload="init();">

Open in new window

setInterval.js for Node.js code
//-[b]setInterval.js[/b]-----------Example setInterval with Node.js for server-side
var http = require('http');
http.createServer(function (request, response){

  response.setHeader('Content-Type', 'text/html; charset=UTF-8');

response.write('<a href="http://www.yahoo.com/us" >Click here for Yahoo</a><br>');

  }, 2000);

Open in new window

The client-side html code,setInterval.html ,as above is working fine and meet what I expect.
So I also try setInterval.js  for Node.js at  server that is aslo responding to what I expect
on my browser with http://mysite.com:8124 that is similar output result  I did for setInterval.html

But the question  is  why  when I am doing  http://mysite.com:8124, the cursor pointer
is always being with  looping icon coming out when you point the cursor on blank area of
the browser instance ? I mean the cursor is keeping waiting , why
it is not shown for the case in setInterval.html ?
The cursor is like as


And browser instance is also showing looping or  waiting icon  for setInteval.js case
but not on setInterval.html case

How to make the cursor display look and browser instance look is same in both cases ?

That may be caused by , one is from server-side, other one is at client-side, and
at client-side javascript is running much much faster than server-side node.js so user
can not see the waiting image icon  for setInterval.html client-side case. You think so ?

Please advise

Question by:duncanb7
  • 5
  • 4
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39618961
It's probably because in 'setInterval.js' you are not sending a complete page like you did in 'setInterval.html'.  In 'setInterval.js', all you are sending is the link so that is the entire page.  If you want them to 'look the same', you have to send the same thing - a complete page.  

In addition, the server side loop in 'setInterval.js' is Never seen by the browser.  The browser makes a single request and gets a single response.  The server code does not act the same as the browser code.  Things like loops and other programming are done On the server and Not in the browser.

And by the way, this question and node.js have nothing to do with PHP.  Node.js can't run the PHP interpreter though it could possibly call a command line PHP program.  In such a case, functions that use server variables and cookies will not work because there is no web server to receive them and pass them on to PHP.
LVL 13

Author Comment

ID: 39618979
I know what you mean but I could Not find those tutorial

and adding back


for Node.js

I am trying to convincing myself to use Node.js for server-side javascript
by benchmarking server and client-side javascript code, I think I will replace
PHP code by Node.js if the benchmarking is good for Node.js for futur projects

I wonder why server code will run faster or compatiable to client-side javascript code
If  comparing  code writing  effeciency or compact, I think Node.js is better than
PHP code but it might not be as good execution speed as client-side Javascript.
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39618999
The situation is not what you seem to think it is.  Node.js has to do the job that PHP and a web server are doing.  Even with all the libraries that are available with Node.js, PHP running on a web server like Apache or IIS is a much more mature solution with much more capability.  That may be because it has been around a lot longer and a lot more people have worked on it.

And client side javascript can Not do what Node.js does as a server.  The situations are just Not the same and you can't really compare them.  Node.js runs on the server machine as a server process and has essentially access to everything.  Client side javascript is very restricted and has access to very little.
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

LVL 13

Author Comment

ID: 39619013
Yes, it seems I understand a little bit.
Node.js is server process using javascript coding and php is server-side script programming only and client-side javascript code is client-side script programming only.

For mutil-process tasking concern, Node.js will run faster than
other script programming appoach.

Is it what you want to tell me ?

I also send similar thread before

but it is hard for me to get to know what  the advantage of using Node.js is
LVL 84

Accepted Solution

Dave Baldwin earned 1500 total points
ID: 39619069
The main advantages of Node.js are:
It can be very simple for simple things.
You can do it all yourself.

Disadvantages are:
Web servers like Apache and IIS are much more complete (but are not simple).
You Have to do it all yourself.  Using the libraries that others have written makes it easier.

For larger web sites, web servers like Apache and IIS are probably going to be faster because they are compiled programs and Node.js is interpreted javascript.  I can not think of any reason that Node.js will be faster than other methods.  That is especially true of larger projects where it has to perform the same services as both a web server and a server side programming language.
LVL 13

Author Closing Comment

ID: 39619081
Thanks for your reply,let me go into detail of Node.js to see
any good features for simplicity

LVL 13

Author Comment

ID: 39619088
Dear Dave,

Just last question
Do you think Node.js at server-side that will have advantage for
programmer  script code security protection , I mean user
could not copy owner's  script coding  from server.

For example, online Game program  on browse could not be easily
to  be copied by users  that might be other advantage of considering
using Node.js besides those advatnage you mentioned in last post
(But php code is also hidden from user and jquery plugin code is visible to users)

LVL 84

Expert Comment

by:Dave Baldwin
ID: 39619095
I really don't see any advantage to Node.js other than what I mentioned above.  All server side languages are 'secure' if no one can break into the server.

And remember that with Node.js, you not only have to write the code for the browser but you also have to write the code that reads the files and delivers it to the browser.
LVL 13

Author Comment

ID: 39619125

it might be good article to talk about  the advantage.

It seems Node.js platform will help to utilize system resource in more
effiecient. So i think mutil-process tasking is good from Node.js to
save  running many tasks in shorter execution time than apache system using CGI/php scripting

And coding on Jave-runtime platform server(tomcat) is not easy to write and not exact
compatiable to Javascript code. The idea of java servlet is similar to Node.js on server

Anyway this post , just for my new thought of Node.js and further study.

hava a nice day, talk you later, if have time, just point  out what I am wrong in this post

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to implement server side field validation and display customized error messages to the client.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
In this tutorial viewers will learn how to embed Flash content in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <object> tag to embed Flash content.: To specify that the object is Flash content, d…
The viewer will learn how to dynamically set the form action using jQuery.
Suggested Courses

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question