您的位置:首页 > Web前端 > JQuery

黑马程序员_学习日记73_725ASP.NET(禁用Cookie、ASP.NET中的重要对象、JavaScript实现AJAX、两种Json格式的序列化方法、JQuery中实现ajax的五种方法)

2012-07-29 21:55 1421 查看
一、禁用Cookie

禁用cookie

<sessionState cookieless=”true”>

</sessionState>

在webconfig中禁用了cookie,session还可以使用,sessionId通过url传递。

如果在浏览器中禁用cookie,这时session每次都是新建,相当于一个新的对话

二、ASP.NET中的重要对象



Application对象可以存储应用程序级的数据。

第一个用户访问站点时,应用程序启动,并创建一个Application对象,创建成功后,整个应用程序都可以使用。

三、AJAX编程技术

Asynchronous JavaScript and XML

中文:异步JavaScript和XML

指一种创建交互式网页应用的网页开发技术。

不是指一种单一的技术,而是有机地利用了一系列相关的技术

AJAX本质是浏览器技术,主要目的局部交换客户端及服务端间的数据

四、JavaScript实现AJAX

$(function () {
$("#btnGetDate").click(function () {
var xhr;
//1、创建异步请求的核心对象
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
//2、设置请求对象跟后台哪个页面交互
xhr.open("Get", "ProcessAjax.ashx?p=33", true);
//3、发送请求
xhr.send();
//4、后台返回数据后会调用此方法
xhr.onreadystatechange = function () {
//“4”表示前台已经接受了后台的响应报文
if (xhr.readyState == 4) {
alert(xhr.responseText);
}
};
})
});


其中

异步对象的readyState属性指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。XMLHttpRequest对象会经历5种不同的状态:

0:未初始化,new完后。

1:已打开。对象已经创建并初始化,但还未调用send方法

2:已发送。已调用send方法,但该对象正在等待状态码和头的返回

3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为对象的状态和响应头不完整。

4:已加载。所有数据接收完毕

五、两种Json格式的序列化方法

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";

List<CityInfo> cities = new List<CityInfo>()
{
new CityInfo(){CityId = 1,CityName = "潍坊"},
new CityInfo(){CityId = 2,CityName = "青岛"},
new CityInfo(){CityId = 3,CityName = "济南"},
new CityInfo(){CityId = 4,CityName = "东营"},
new CityInfo(){CityId = 5,CityName = "烟台"}
};
//第一种方式:拼接Json字符串
//StringBuilder sb = new StringBuilder();
//sb.Append("[");
//foreach (var cityInfo in cities)
//{
//    sb.Append("{");//"{"大概是特殊字符
//    sb.AppendFormat("\"CityId\":\"{0}\",\"CityName\":\"{1}\"",cityInfo.CityId,cityInfo.CityName);
//    sb.Append("},");
//}
//string str = sb.ToString().TrimEnd(',');
//str += "]";
//context.Response.Write(str);

//--------------------------------------------------------------------------
//第二种方式:将对象序列化为Json格式
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
string json = javaScriptSerializer.Serialize(cities);
context.Response.Write(json);
}


第二种方法要添加引用Extensions程序集



第二种序列化的方式:如果对象之间有循环依赖,则会出现问题。

六、Jquery中实现ajax的五种方法:

<head>
<title></title>
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btnGetJson").click(function () {
$.getJSON("ResponseJson.ashx", "a=3&b=4", function (data) {
alert(data[1].CityName);
});
});

$("#btnJQGet").click(function () {
$.get("ResponseJson.ashx", "dd=33", function (data) {
alert(data);
});
});

$("#btnJQPost").click(function () {
$.post("ResponseJson.ashx", { d: 33, demo: "shit" }, function (data) {
alert(data[0].CityName);
}, "json");
});

$("#btnAjax").click(function () {
$.ajax({
url: "ResponseJson.ashx",
data: "a=3&b=4",
type: "Post",
success: function (data) {
alert(data);
},
error: function () {
alert("错误!");
}
});
});

$("#btnLoad").click(function () {
$("#divDemo").load("ResponseJson.ashx", { id: 333 }, function (data) {
alert(data);
});
});
});
</script>
</head>
<body>
<input type="button" value="JQ GetJson" id="btnGetJson" />
<input type="button" value="JQ Get" id="btnJQGet" />
<input type="button" value="JQ Post" id="btnJQPost" />
<input type="button" value="JQ ajax" id="btnAjax" />
<input type="button" value="JQ load" id="btnLoad" />
<div id="divDemo"></div>
</body>


小知识点:

HttpModule是HttpApplication实例在Init()方法中初始化绑定的事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐