黑马程序员-AJax读书笔记
来源:互联网 发布:c语言if语句的嵌套 编辑:程序博客网 时间:2024/06/13 23:05
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
1.XMLHTTPRequest对象用来向服务器发出请求以及获取返回的数据;
eg.function btnClick() {var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //创建XMLHTTPReqset对象(IE中);
if (!xmlhttp) { //如果创建对象发生异常;
alert("创建xmlHTTP对象发生了异常");
return false;
}
//如果要传送数据时有中文,就必须使用encodeURI()方法;
//xmlhttp.open("POST", "时就练习Ajax.aspx?textID=" + encodeURI("中文"), false); //设置向处理页面发出post请求的方法;
xmlhttp.open("POST", "时就练习Ajax.aspx", false); //设置向处理页面发出post请求的方法;
//监听onreadystatechange事件,一旦状态发生改变,当为4的时候,就表示服务端返回了数据,再判断是否是想要的数据;
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) { //当为4的时候表示服务器端返回了数据;
if (xmlhttp.status == 200) { //状态码200表示请求成功,300表示重定向,400有关权限问题,500表示错误;
document.getElementById("text1").value = xmlhttp.responseText; //responseText属性为服务器返回的数据;
}
else {
alert("服务器返回错误");
}
}
}
xmlhttp.send(); //真正的发送请求;
}
2.var xmlhttp = new XMLHttpRequest(); //非IE中创建这个对象;
3.JQuery封装方式Ajax查询:
$.post(处理页面,参数,处理返回数据的函数)//post方式
$.get(处理页面,参数,处理返回数据的函数)//get方式;
$.ajax(处理页面,参数,处理返回数据的函数)//post和get方式最终都会调用这个函数,这是一个更底层的函数,可以这么使用(不推荐);
eg. function btnClick() {
var amount = $("Text1").val();
var moneytype = $("Select1").val();
$.post("JQuery汇率Ajax.aspx", { "amount": amount, "moneytype": moneytype }, function (data, textStatus) {
if (textStatus == "success") {
alert(data); //data表示数据,textStatus表示返回状态;
}
});
}
4.Json数据格式:(引入System.Web.Script.Serialization命名空间)
JavaScriptSerializer jss = new JavaScriptSerializer(); //实例化一个提供序列化和反序列化功能的对象;
string json = jss.Serialize(new person() { Name = "tom", Age = 30 }); //调用序列化的方法,序列化一个对象;
Response.Write(json);
5.JavaScript提供的反序列化功能的方法:
$.parseJSON(数据);
6.开发工具自带有实现Ajax功能的控件,在一些数据不太复杂的情况下开发后台程序可以使用,使用这类控件的传输的数据量较大,需特别注意;
(首先放入ScriptManager和UpdatePanel控件,然后将要实现Ajax效果的控件放入UpdatePanel中即可)
7.AjaxControlToolkit.dll组件,提供一系列实现Ajax效果的控件;
8.URL的重写,实现伪静态,进行搜索优化;
在Global.asax的Application_BeginRequest事件中(一旦对这个网站有请求,便会触发,往往一个页面有几十上百次请求,也就会触发几十上百次,比如请求一个js文件,请求一张图片等等,都会触发这个事件),读取HttpContext.Current.Request.Url得到请求的URL地址,然后进行解析得到的URL地址,最后用HttpContext.Current.RewritePath(解析后的地址)方法将解析后的地址重写,也就是访问这个解析后的URL,客户端地址栏中的地址不变;
9.使用微软的URLRewrite,修改配置文件即可显示URL地址重写能力;(可进一步学习)
10.在Global.asax的Application_BeginRequest事件中可以实现防盗链,如果发现不是来自本站的请求,就拒绝进行响应,或者进行特殊处理;
11.Global.asax中的Application_Error事件,当程序中发生了异常,而这个异常没有被捕获处理,那么就会触发这个事件,可以在这个事件中对没有处理的异常记录到日志,以便今后进行修复;
12.能用HTML控件实现的就不要用服务端控件去实现,服务端控件主要是为了更方便进行获取控件相应的值,但这样会有更多冗余的数据,影响响应速度;
13.JQuery的effect实例库,提供有大量的实例效果;
- 黑马程序员-AJax读书笔记
- 黑马程序员-XML读书笔记
- 黑马程序员-JavaScript读书笔记
- 黑马程序员-DOM读书笔记
- 黑马程序员-JQuery读书笔记
- 黑马程序员-CKEditor读书笔记
- 黑马程序员-Ajax原理
- 黑马程序员日记之AJAX
- 黑马程序员-AJAX学习日记
- 黑马程序员-初探ajax技术
- 黑马程序员-HTML读书笔记(一)
- 黑马程序员-HTML读书笔记(二)
- 黑马程序员-ASP.net读书笔记(一)
- [黑马程序员]简单的ajax代码
- [黑马程序员]ajax 城市三级联动
- Ajax读书笔记
- 黑马程序员----使用DWR框架来实现ajax
- 黑马程序员---$.getScript()方法和$.getJson()方法、$.ajax()
- Android 学习
- Android布局---相对布局(Relative Layout)
- 在开发中你可能没有考虑到的两个性能优化
- ConcurrentLinkedQueue的实现原理分析
- Jquery插件之信息弹出框showInfoDialog(成功、错误、警告、通知)
- 黑马程序员-AJax读书笔记
- weblogic日志重定向
- 黑马程序员-ASP.net读书笔记(一)
- ThinkPHP与EasyUI整合之三(searchbox):在datagrid中查询指定记录
- 删除 安装的12306根证书 方法
- 手机分辨率
- ThinkPHP与EasyUI整合之二(datagrid):删除多条记录
- 19_Struts 2.x 拦截器与文件上传
- Excel表格怎么设置自动换行