二十五岁时我们都一样愚蠢、多愁善感,喜欢故弄玄虚,可如果不那样的话,五十岁时也就不会如此明智。
标题:JavaScript ajax http
AJAX的核心是XMLHttpRequest对象。
XMLHttpRequest 对象
支持所有现代浏览器的XMLHttpRequest对象
XMLHttpRequest 对象用于与后台服务器交换数据。这意味着它可以更新网页的一部分,无需重新加载整个页面.
创建一个XMLHttpRequest对象
所有现代浏览器(Chrome, IE7+, Firefox, Safari, and Opera)有一个内置的XMLHttpRequest对象.
创建一个XMLHttpRequest对象语法如下:
variable = new XMLHttpRequest();旧版本的Internet Explorer (IE5 和 IE6) 使用ActiveX 对象:
variable = new ActiveXObject("Microsoft.XMLHTTP");处理所有浏览器, 包括 IE5 和 IE6, 检查浏览器是否支持XMLHttpRequest对象。如果没有创建XMLHttpRequest对象,创建一个ActiveX对象:
var xhttp; if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
跨域访问
出于安全原因,现代浏览器不允许跨域访问.
这意味着它试图加载的网页和XML文件必须位于同一服务器上。.
编程字典的实例,所有打开的XML文件都位于codingdict.com域上。
如果您想在您自己的网页上使用上述示例,则加载的XML文件必须位于您自己的服务器上。
旧版本的Internet Explorer (IE5 和 IE6)
旧版本的Internet Explorer (IE5 和 IE6) 不支持 XMLHttpRequest 对象.
处理IE5 和 IE6, 检查浏览器是否支持 XMLHttpRequest 对象, 否则创建一个ActiveXObject:
if (window.XMLHttpRequest) { // code for modern browsers xmlhttp = new XMLHttpRequest(); } else { // code for old IE browsers xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
XMLHttpRequest 对象方法
方法 描述 new XMLHttpRequest() 创建一个新的XMLHttpRequest对象 abort() 取消当前请求 getAllResponseHeaders() 返回头信息 getResponseHeader() 返回指定头信息 open(method, url, async, user, psw) 指定请求
方法: 请求类型 GET 或者 POST
url: 文件位置
async: true (异步) 或者 false (同步)
user: 可选的用户名称
psw: 可选密码send() 使用GET请求,发送请求到服务器 send(string) 使用POST请求,发送请求到服务器 setRequestHeader() 添加一个键值对到头信息
XMLHttpRequest 对象属性
属性 描述 onreadystatechange 定义了一个函数的调用,当readyState属性改变 readyState XMLHttpRequest状态.
0: 请求未初始化
1: 服务器连接建立
2: 收到请求
3: 处理请求
4: 请求完成并响应就绪responseText 将响应数据作为字符串返回 responseXML 将响应数据作为xml返回 status 返回请求的状态号
200: "OK"
403: "禁止"
404: "未找到"
statusText 返回状态文本 (例如: "OK" 或者 "Not Found")