Ajax
1:ajax是一种页面局部刷新的技术,不是整个页面刷新。这里就像论坛评论里面的刷新,只是局部的,不是页面全部提交到服务器。
2:页面不刷新,创建个WebClient,它和服务器进行交互。
3:代码
Eg:这里就是向服务器发送请求,接受请求。
<script type="text/javascript"> function btnClick() { var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//创建xmlhttp对象,这里相当于WebClient if(!xmlhttp) { alert("创建XML异常"); return false; } xmlhttp.open("POST", "/Default/Index" + new Date(), false); //准备向服务器Default发送请求 //XMLHTTP默认不是同步请求,也就是open方法并不像WebClient的DownLoadString那样,把服务器的数据拿到才返回,是异步的,因此需要监听 //onreadystatechange事件 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { if (xmlhttp.status==200) { //状态码200表示成功 alert(xmlhttp.responseText); document.getElementById("Text1").value = xmlhttp.responseText; } else { alert("ajax服务器返回错误"); } } } xmlhttp.send();//开始发送请求 } </script>
4:
在使用ajax的时候要注意里面的缓存,有可能不往服务器发送请求,可能从缓存中读取值。解决它的办法就是让每次发送的请求都不一样,加上时间。
不同的浏览器创建xmlhttp的方法是不同的。
5:Jquery里面的方法
function btnClick2() { var eeee = $("").val(); var ddd = $("").val(); $.post("GetDate.cs", { "djdhj": eeee, "": ddd }, function(data, textStates) { //post无缓存,第二个为往服务器那边传递的参数,利用的是键值对的形式 alert(data); alert(textStates); }); $.get(); //get这里可能有缓存 $.ajax(); //post,get内部实现是调用ajax方法 }
6:Json
Ajax传递复杂数据的时候我们必须要进行解析,但是我们使用Json来解决这个问题.
将复杂的数据按照自己的方式进行封装,在浏览器中可以转换为js可以识别的方式。
//这里可以得到js提交到的数据 JavaScriptSerializer json=new JavaScriptSerializer(); string jsons = json.Serialize(new Person() {Name = "ahui", Age = 12}); //将对象转换为json对象 context.Response.Write(jsons); //输出函数
7:得到json字符串
$(function() { $.post("JSon.ashx", function (data, status) { var person = $.parseJSON(data);//这里得到服务器端的数据 alert(person.name); }); });
8:这里通过JQuery来读取服务器JSon.ashx端的返回结果,//$.post("服务器",function(data,status){});
data是服务器返回的数据,status是看可以往服务器发送不,看是否接通链路。
$(function() { $.post("JSon.ashx", function (data, status) { alert(data); }); });
9:(全局文件)配置文件的解释
讲解Application_Start文件中的代码
我们知道Global.asax.cs是最底层的代码,每一次iis请求,都会首先执行这里的代码,且只执行一次,下面就让我们来学习下,这里的代码的具体的意思。