准备JS文件

我们的代码分客户端和服务端两部分。
服务端就是Foxtable的HttpRequest事件。
客户端就是简单的JavaScript代码,用于按照我们之前约定的get参数规则,向服务器发送反问请求,非常简单。

在目录"d:\web\lib"新建一个文本文件"order.js",内容为:

function edit(){
   location="edit.htm?page=" + table1.pagenumber + "&oid=" + table1.primarykey;
}

function del(){
   location="list.htm?page=" + table1.pagenumber + "&deloid=" + table1.primarykey;
}

function addnew(){
   location="edit.htm?page=" + table1.pagenumber;
}

function addDetail(){
   location=form1.action + "&addnext=true";
}

function editDetail(){
   location = form1.action + "&did=" + detailtable.primarykey;
}

function delDetail() {
   location = form1.action + "&deldid=" + detailtable.primarykey;
}

function calc(){
   document.getElementById("金额").value = document.getElementById("数量").value * document.getElementById("单价").value;
}

上代码中的table1为list.htm中的订单表格,form1为edit.htm中的输入表单,detailtable为edit.htm中的订单明细表格。

除了最后一个calc函数用于输入过程自动计算金额外,其他函数都是根据我们上一节 理顺 的get参数规则,根据要完成的任务向服务器发送访问请求,只是简单的字符串合并而已,都很好理解。

一个例子

以编辑订单为例,当我们在list.htm的菜单中执行“编辑订单”,会执行edit函数,该函数的代码为:

function edit(){
   location="edit.htm?page=" + table1.pagenumber + "&oid=" + table1.primarykey;
}

假定我们正在访问第3页,选定订单的订单编号为
161130078,此时table1.pagenumber等于2,table1.primarykey等于161130078,以上代码合成的链接为:

edit.htm?page=2&oid=161130078

等于告诉服务器:我正在浏览第3页,我现在要编辑订单编号为161130078的订单。

后面在介绍Foxtable端的代码时,还会对以上js函数逐个讲述。

你有疑问?

我估计少数用户会发出这样的疑问,JS代码文件明明存放在服务端,怎么就是客户端代码呢?
其实在运行的时候,JS代码文件会先被下载到客户端,然后再执行,用户可以通过浏览器查看JS文件的内容,这一点和普通的网页或图片没有不同,都是由客户端浏览器负责显示或执行的。
HttpRequest才是真正的服务端代码,直接在服务端运行,用户是看不到代码的。
所以千万不要在JS代码中出现敏感信息哦。
 


本页地址:http://www.foxtable.com/mobilehelp/topics/0129.htm