客户端与服务器进行交互的三种方式
1、Form方式。Form方式是最基本的向服务器提交数据的方式。
一个小例子:运行效果图为:
看一下前台代码:
在这里,<form></form>之中的代码为一个提交域,当页面提交时,其中的数据也提交到服务器中。
后台代码为(即为服务器中的代码),当页面点击登录按钮登陆后,页面上的数据以表单的形式提交到服务器中,以供服务器进行验证。
2、url形式
具体做法即通过url地址栏的形式传递数据到服务端。
3、xml形式。
来看个登录的小例子哈,虽说例子有点牵强,但咱主要讲的是个道理O(∩_∩)O~:
先来看效果图:
界面显示出来时,我们点击登录按钮,如果登录信息正确,则后面给出提示,欢迎欢迎。这个例子不同的地方在于他并没有刷新这个登陆界面哦。下面来看一下代码实现:
先来看一下程序整体结构图:
这里,Default2为启动界面,即登录主界面,而Default只是为Default2服务的一个界面,这里也可以用.ashx文件。因为窗体的前台页面是用不着的,只是用它的后台。这个例子可能并不能体现xml的优势,只是简单的说明一下实现的原理。
来看一下两个页面的前台代码:
Default2
js代码 |
var req; //定义变量用来创建xmlhttprequest对象 function creatReq() { var userName = document.getElementById("txtUser").value; var pwd = document.getElementById("txtPWD").value; var url = "Default.aspx?userName="+userName+"&pwd="+pwd; if (window.XMLHttpRequest){ //非IE浏览器及IE7(7.0及以上版本),用XMLRequest对象创建 req = new XMLHttpRequest(); } else if (window.ActiveXObject){ //IE(6.0及以下版本)浏览器用activeObject对象创建,如果用户浏览器禁用了Activex,可能会失败 req = new ActiveXObject("Microsoft.XMLHttp"); } if (req){ //成功创建xmlhttprequest req.open("Post", url, true); //与服务端建立连接(请求方式post或get,地址,异步) req.onreadystatechange = callback; //指明回调函数 req.send(null); //发送请求 } } function callback() { //回调函数,对服务端的响应处理,监视response状态 if (req.readyState == 4) { //请求状态为4表示成功 if (req.status == 200) { // document.getElementById("lable2").value = Session.["welecome"].toString; if (((String)(req.responseText)).substr(0, 4) == "true") { document.getElementById("lable2").innerText = "欢迎欢迎哈O(∩_∩)O~"; } } else { //http返回状态失败 alert("服务端返回状态" + req.statusText); } } } //在点击登录按钮时,触发此js事件 function judge() { creatReq(); } |
Default.cs代码 |
using System.Web; public partial class _Default : System.Web.UI.Page |