浅谈Web数据交互(一)

来源:互联网 发布:千峰java培训怎么样 编辑:程序博客网 时间:2024/04/25 15:29

C/S模式和B/S各有其有点也各有其缺点,B/S模式在开发中需要考虑数据如何从客户端提交到服务器端,数据又如何返回到客户端,这些是B/S模式所特有的,在去年之前,开发B/S模式的程序,我都是利用form来交互数据,当我看到XML之后,发现XML是个好冬冬,有很多优点,有好的东西当然不能独享啦,想当年为了实现XML交互数据,几乎把网络翻了个遍。咚,一块砖头上来了。呵呵,废话少说,下面我们就进入正题。

B/S模式分为服务器端和客户端,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。这样,我们就看到了数据从客户到服务器,经过服务器的处理再返回到客户端,由客户端软件(如IE)显示结果。

 

(以ASP教本语言为例,其它的语言一样哈。)

 

1Form方式

Form方式是最基本的向服务器提交数据的方式。

test.asp文件代码:

<%@ Language=VBScript %>

<%

          Response.Expires=-1

          Response.CharSet="UTF-8"

          Session.CodePage="65001"

%>

<form name="frmTest" id="frmTest" action="test.asp" method="POST">

<input name="name" id=" name" type="text" value="">

<input type="hidden" name="number" id="number" value="10">

<input type="submit" value="Submit" name="B1">

</form>

<%

          dim intnumber

          dim strname

          if IsEmpty(Request("name")) then

          strname =""

          else

          strname =Request("name")

          end if

 

          if IsEmpty(Request("number")) then

          intnumber =0

          else

          intnumber =Request("number")

          end if

          Response.Write("<br>")

          Response.Write("You input name is:" & strname)

          Response.Write("<br>")

          Response.Write("Hidden number value is:" & intnumber)

%>

此段代码完成了从客户端输入数据,然后通过Form提交到服务器端,服务器页面接收到数据后将数据发送到客户端显示的过程。

下面解释一下此段代码:

<form name=”frmTest” id=”frmTest” action=”test.asp” method=”POST”>

</form>

此代码之间的为一个提交域,当这个form提交的时候,其中的数据都提交到服务器端。其中action为提交数据给的页面,也就是接受form数据的页面,这里为页面本身,当然也可以为其它页面。

method为提交的方式

<input name=”name” id=” name” type=”text” value=””>

此代码为一个输入框,

<input type="hidden" name="number" id=" number " value="0">

此代码为一隐藏value,不会在页面上显示,用来保存一些数据。

<input type="submit" value="Submit" name="B1">按钮按下去的时候,form就向服务器数据。服务器端的脚本

if IsEmpty(Request("name ")) then

strname =””

else

strname =Request("name ")

end if

Request("name ")取得提交的form中的namename的字段的值。

 

2URL方式

具体的做法就是通过URL地址栏传递数据到服务器端。

还是命名为test.asp

<%@ Language=VBScript %>

<%

          Response.Expires=-1

          Response.CharSet="UTF-8"

          Session.CodePage="65001"

%>

<a href="./test.asp?name=youname&number=10">Go</a>

<%

          dim intnumber

          dim strname

          if IsEmpty(Request("name")) then

          strname =""

          else

          strname =Request("name")

          end if

 

          if IsEmpty(Request("number")) then

          intnumber =0

          else

          intnumber =Request("number")

          end if

          Response.Write("<br>")

          Response.Write("You input name is:" & strname)

          Response.Write("<br>")

          Response.Write("Hidden number value is:" & intnumber)

%>

 

<a href="./test.asp?name=youname&number=10">Go</a>

该超连接指向./test.asp,就是本身,当然也可以指向其它文件,?表示开始传递的参数。

参数name赋值yourname,不同参数之间通过&连接

通过该图和上图的比较,我们可以发现通过url传递数据会在浏览器的url中显示出来,这样用户就能看到我们是如何提交数据的,当然也可以直接修改url里面的值来传递参数了。

注意:通过url传递参数,url需要进行编码,否则可能得到的是乱码。

原创粉丝点击