当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(15) JS代替CGI

Javascript
IE与firefox下Dhtml的一些区别小结
jQuery Selectors(选择器)的使用(一、基本篇)
jQuery Selectors(选择器)的使用(二、层次篇)
jQuery 跨域访问问题解决方法
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
javascript 面向对象全新理练之数据的封装
javascript 面向对象全新理练之继承与多态
javascript 面向对象全新理练之原型继承
JavaScript 生成随机数并自动大小排序
JavaScript利用split函数按规定截取字符串(获取邮箱用户名)
JavaScript 双级下拉菜单实现代码
JavaScript split()使用方法与示例
33种Javascript 表格排序控件收集
js 屏蔽鼠标右键脚本附破解方法
javascript json 新手入门文档
jQuery Selectors(选择器)的使用(四-五、内容篇&可见性篇)
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
javascript 汉字转拼音实现代码
javascript 跳转代码集合
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)

Javascript实例教程(15) JS代替CGI


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 405 ::
收藏到网摘: n/a

使用Javascript代替CGI

你可能对CGI脚本比较熟悉,利用CGI你可以通过表单将数字或者变量从一个网页上传递到另外一个网页。当然,你可以利用“POST”将变量以独立的线程进行传递而不显示在浏览器中,或者利用“GET”将变量编码到URL。

JavaScript不能在变量在服务器端被处理的时候利用POST方法;但是你可以注意到当你提交一个使用GET方法的表单的时候,定位条上在文件名之后包含了额外的信息,比如:

www.pconline.com.cn/mypage.html?name=Mike&age=33

利用JavaScript我们可以访问这些变量,具体可以使用一个相关的数组合来实现,如下所示:

<SCRIPT language="JavaScript1.1">

<!-- Hide from older browsers


function formInput() {

// empty object

}


var valueOf = new formInput();


var pairs = document.location.search.substring(1).split("&");

for (var i=0; i < pairs.length; i++) {

var values = pairs[i].split("=");

valueOf[values[0]] = unescape(values[1]);

}


// Stop hiding -->

</SCRIPT>

以上代码的作用是从浏览器的定位条上将变量提取出来并将它们存储在一个相关的数组合中。在网页的其它部分任何的变量都可以这样被引用,如:valueOf["variablename"],当然这些引用要在SCRIPT标签中。

作为一个测试,我们可以利用for .. in loop循环语句列出所有的被传递的变量。这允许我们循环掉出所有相关数组的内容而不管我们是不是直到这些变量的名字。具体代码如下:

<SCRIPT language="JavaScript">

<!-- Hide from older browsers


for (var x in valueOf) {

document.write(x + " = " + valueOf[x] + "<br>");

}


// Stop hiding -->

</SCRIPT>

这时候就会输入以下的内容:

name=Mike

age=33

这个例子虽然没什么用,但是它只是为了向你显示程序是如何工作的。这些变量现在就可以用在填充表单元素的内容,或者显示图片或者创建其它的网页内容,总之可以实现CGI能实现的内容。

点击此处去测试效果页面