AJAX理解
来源:互联网 发布:人声节拍器软件 编辑:程序博客网 时间:2024/06/05 06:25
AJAX 使用 Http 请求
您希望从服务器上的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须利用一个 HTML 表单向服务器 GET 或 POST 数据。获取信息,等待服务器的响应,然后一张新的页面会加载结果。
通过利用 AJAX,您的 JavaScript 会通过 JavaScript 的 XMLHttpRequest 对象,直接与服务器来通信。通过使用 HTTP 请求,web 页可向服务器进行请求
XMLHttpRequest 对象
通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面
AJAX - 更多有关 XMLHttpRequest 对象的知识
在向服务器发送数据之前,我们有必要解释一下 XMLHttpRequest 对象的三个重要的属性。
1\onreadystatechange 属性:onreadystatechange 属性存有处理服务器响应的函数
xmlHttp.onreadystatechange=function()
{
// 我们需要在这里写一些代码
}
2\readyState 属性:readyState 属性存有服务器响应的状态信息
0 请求未初始化(在调用 open() 之前)
1 请求已提出(调用 send() 之前)
2 请求已发送(这里通常可以从响应得到内容头部)
3 请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应)
4 请求已完成(可以访问服务器响应并使用它)
我们要向这个 onreadystatechange 函数添加一条 If 语句,来测试我们的响应是否已完成(意味着可获得数据):
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
// 从服务器的response获得数据
}
}
responseText 属性:通过 responseText 属性来取回由服务器返回的数据
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
AJAX - 向服务器发送一个请求
要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。
open() 方法需要三个参数。第一个参数定义发送请求所使用的方法(GET 还是 POST)。第二个参数规定服务器端脚本的 URL。第三个参数规定应当对请求进行异步地处理。
send() 方法可将请求送往服务器。
xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);
例子:
<html>
<body>
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);
}
</script>
<form name="myForm">
用户: <input type="text" name="username" onkeyup="ajaxFunction();" />
时间: <input type="text" name="time" />
</form>
</body>
</html>
- 理解ajax
- ajax-理解
- AJAX理解
- 理解Ajax
- Ajax理解
- ajax理解
- Ajax理解
- ajax 理解
- Ajax理解-ajax笔记
- [Ajax]ajax学习与理解
- ajax的一些理解
- Ajax的一点理解
- AJAX的理解
- AJAX 之 理解 UpdatePanel
- ajax 理解学习1
- Ajax之Post理解
- 对AJAX的理解 ?
- Ajax的理解
- ccnet +msbuild +svn 每日构建(二 )编译完成后自动发布并部署文件
- EL表达式概述
- PF_PACKET 设备层编程接口
- maven LTDM 部署前台Tomcat 各种折腾--->自己总结经验
- Eclipse RCP中编辑器(editpart)关闭按钮的屏蔽方法
- AJAX理解
- UIViewContentMode
- UIView的autoresizingMask的详细研究
- 基于V4L2的视频驱动开发(2) 华清远见 刘洪涛
- (十三)kalman滤波
- redis-cli命令收集
- Smarty模板技术
- mysql 5.7.9 的源码安装
- Spring 的优秀工具类盘点,第 1 部分: 文件资源操作和 Web 相关工具类