初学ajax笔记(关于方法的理解)
2018-04-07 20:59
190 查看
ajax对于不同浏览器的不同方法
ajax对于IE6和IE5浏览器执行代码ActiveXObject()
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
对于IE7和IE7以上的浏览器
XMLHttpRequest()
xmlhttp = new XMLHttpRequest();
onreadyStateChange事件
onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果onreadyStateChange事件是在readyState属性发生改变时触发的,
readyState的值
readyState的值表示了当前请求的状态,在事件处理程序中可以根据这个值来进行不同的处理。
readyState有五种可取值:
0:尚未初始化,1:正在加载,
2:加载完毕,
3:正在处理;
4:处理完毕。一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。
Http状态码 含义
200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误
.open方法
xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);xmlhttp.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
bstrMethod
http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。bstrUrl
请求的URL地址,可以为绝对地址也可以为相对地址。varAsync[可选]
布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。true和false的区别是:
true:请求是异步的 说明发送请求后不必等到响应回来就可以干后边的事
false:的话是同步的 必须等到响应回来了 才能干后边的事
bstrUser[可选]
如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。bstrPassword[可选]
验证信息中的密码部分,如果用户名为空,则此值将被忽略。如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据: xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
setRequestHeader(header,value)
向请求添加 HTTP 头:
header: 规定头的名称value: 规定头的值
服务器响应方式:
responseText 获得字符串形式的响应数据。responseXML 获得 XML 形式的响应数据。
一段AJAX参考代码:
<script>function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//判断当前请求的状态
xmlhttp.onreadystatechange=function()
{
//如果当前请求状态是处理完毕,并且http状态码为请求成功
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//把从服务器拿出来的文本内容放入id为mydiv的DIV中
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
//responseText属性包含了从服务器返回的文字信息。这些信息其实就是所请求的页面。
//如果包括<html></html>标签,那么在调用某个span的innerHTML()方法时,
//由于<html></html>不能嵌套在<span></span>中,就会引发“未知运行期错误”
}
}
//设置
xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
xmlhttp.send();
xmlhttp.send() 方法接受一个可选的参数,其作为请求主体;如果请求方法是 GET 或者 HEAD,则应将请求主体设置为 null。
在get方式下里面的参数应为null,也就是说send()方法仅用于post请求
在post请求下可传递参数
}
</script>
相关文章推荐
- 指针初学笔记(两个数交换的函数----关于指针的理解)
- Android初学笔记之<handler.obtainMessage()方法理解>
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- IOS初学,关于内存的使用和释放,以及对其方法的理解
- 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作原理,构建网站的一种有效方法
- 关于asp.net中ajax的问题:AjaxControlToolkit 未定义的解决方法
- 关于Ajax 错误:'sys'未定义解决方法
- 关于GridView导出Excel的一些问题(采用Ajax出现的的问题及解决方法)
- 学习笔记:关于科学方法在社会科学中的局限性
- Mcad学习笔记之委托再理解(delegate的构造器,MulticastDelegate,BeginInvoke,EndInvoke,Invoke4个方法的探讨)
- 关于Ajax 错误:'sys'未定义解决方法.
- 关于Ajax 错误:'sys'未定义解决方法.
- 理解 Ajax 及其工作原理,构建网站的一种有效方法
- 理解 Delphi 的类(十一) - 深入类中的方法[2] - 关于覆盖与重定义
- 对DDLLY的关于属性与方法new的理解
- 关于"多态"static方法的理解
- 学习笔记:关于科学方法在社会科学中的局限性
- 关于Ajax 错误:'sys'未定义解决方法
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结.
- 关于Ajax 错误:'sys'未定义解决方法.