【ASP.net】Ajax介绍
程序员文章站
2022-06-03 12:10:21
...
什么是Ajax
AJAX:(Asynchronous JavaScript and XML)中文意思:异步JavaScript和XML。指一种创建交互式网页应用的网页开发技术。AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,不是指一种单一的技术,而是有机地利用了一系列相关的技术:
JavaScript + XMLHttpRequest + CSS +服务器端 的集合:
- web标准( Standards-Based Presentation )XHTML+CSS的表示,
- 使用 DOM( Document Object Model )进行动态显示及交互,
- 使用 XML 和 XSLT 进行数据交换及相关操作,
- 使用 XMLHttpRequest 进行异步数据查询、检索
Ajax 技术提供了一种新的前后端数据交互方式,不需要刷新页面,而且不阻塞页面执行流程,异步的去请求去获取、交互数据。
Ajax采用异步方式与后台交互
AJAX核心对象是XMLHttpRequest,使用该对象实现的异步,不用每次刷新界面。
使用XMLHttpRequest异步条用后台服务的基本步骤:
- 初始化XMLHttpRequest对象
- 指定响应处理函数
- 发出HTTP请求
- 处理服务器返回信息
初始化XMLHttpRequest,不同浏览器构建方式不同,在发送请求需要调用XMLHttpRequest的open方法打开链接,通过send方法发送请求,
请求发送后,浏览器会根据请求或响应的状态调用XMLHttpRequest的回调方法,状态信息保存在XMLHttpRequest对象的readyState属性
中。当readyState值为4时表示服务器响应完成,值为200时表示页面正常可以处理。例:
<script type="text/javascript">
$(function () {
$("#btnGetDate").click(function () {
//开始通过AJAX向服务器发送请求.
var xhr;
if (XMLHttpRequest) {//表示用户使用的高版本IE,谷歌,狐火等浏览器
xhr = new XMLHttpRequest();
} else {// 低IE
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("get", "GetDate.ashx?name=zhangsan&age=12", true);
xhr.send();//开始发送
//回调函数:当服务器将数据返回给浏览器后,自动调用该方法。
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {//表示服务端已经将数据完整返回,并且浏览器全部接受完毕。
if (xhr.status == 200) {//判断响应状态码是否为200.
alert(xhr.responseText);
}
}
}
});
});
</script>
Jquery下使用AJAX
向服务器发送get、post、Ajax(get/post)请求三种方式:
get方式:
格式:jQuery.get(url, [data], [callback], [type])
$(function () {
$("#btnGet").click(function(){
$.get("GetDate.ashx", { "name": "lisi", "pwd": "123" }, function (data) {
alert(data)
});
});
post方式:
格式:jQuery.post(url, [data], [callback], [type]),跟get一样
$("#btnPost").click(function () {
$.post("ShowDate.aspx", { "name": "lisi", "pwd": "123" }, function (data) {
alert(data)
})
});
ajax方式:
type:设置请求方式是get/post
url:设置请求路径
data:请求参数
success:成功调回
error:错误调回
$("#btnAjax").click(function () {
$.ajax({
type: "POST"/get,
url: "GetDate.ashx",
data: "name=John&location=Boston",
success: function (msg) {
alert("Data Saved: " + msg);
},
"error":function(){
alert("错误");
}
});
});
上一篇: ThinkPHP函数详解:M步骤