dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


advertisement
 

Rediscover (and Structure) CGI with a Simple Link Technique : Page 5

CGI is the most widely used protocol for Web programming, but it lacks basic programming constructs such as function calls. You can work around these weaknesses by encoding function calls directly into Web links easily creating active links—and you can do it in PHP, Perl, JavaScript, and Java.


advertisement

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Mult in Javascript
Syntactically, JavaScript is fairly similar to the PHP and Perl implementations. However, this implementation of Mult runs entirely on the client side.

Again, the multiplication routine is as simple as can be:

function mult( a, b ) { var prod = a * b; document.write( "<center>" ); document.write( "<h1><b>" ); document.write( a+" x "+b+" = "+prod ); document.write( "</b></h1>" ); document.write( "</center>" ); }

Likewise, the generation of the multiplication table is straightforward:


document.write( "<center>" ); document.write( "<table border=\"1\">" ); document.write( "<tr>" ); document.write( "<td>X</td>" ); for (var c=0; c<10; ++c) { document.write( "<td>"+c+"</td>" ); } document.write( "</tr>" ); for (var r=0; r<10; ++r) { document.write( "<tr>" ); document.write( "<td>"+r+"</td>" ); for (var c=0; c<10; ++c) { var link = alLink( "mult", r, c ); document.write( "<td> <a href=\""+link+"\">"+r+" x "+c+"</a></td>" ); } document.write( "</tr>" ); } document.write( "</table>" ); document.write( "</center>" );

The link is defined in more or less the same way as in PHP and Perl:

var link = alLink( "mult", r, c );

One difference with the JavaScript implementation is that, in alinvoke.html, you must include the active link library after the definition of the mult() routine:

<script language="javascript" src="activeLink.js"></script>

Otherwise, the mult() routine will not be defined when alExtractAndApply() is called.

Freezing and Thawing in JavaScript
To encode the function call in JavaScript, take a list containing the function named and arguments and call toSource() on it, which returns a piece of Javascript source code. Escape this code with the escape() function:

var enc = escape( info.toSource() );

This code, when evaluated, will return the original list:

var info = eval( unescape( results[1] ) ); alApply( info );

Next, apply the first element of the list to the rest of the elements of the list:

function alApply( info ) { var fun = this[info[0]]; var funargs = new Array(); for (var i=1; i<info.length; ++i) { funargs[i-1] = info[i]; } fun.apply( null, funargs );



Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date