Tutorial: SetInterval() with Node.js http

Posted on 2013-11-02
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="" >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="" >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 that is similar output result  I did for setInterval.html

But the question  is  why  when I am doing, 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
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
LVL 83

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 83

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.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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 83

Accepted Solution

Dave Baldwin earned 500 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 83

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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

This article explains how to prepare an HTML email signature template file containing dynamic placeholders for users' Azure AD data. Furthermore, it explains how to use this file to remotely set up a department-wide email signature policy in Office …
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

762 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