Ajax入门必知
来源:互联网 发布:python chain list 编辑:程序博客网 时间:2024/05/16 23:51
原始的Ajax
1,创建XMLHttpRequest对象的实例
var xmlHttpReq;
if (window.ActiveXObject){
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest){xmlHttpReq = new XMLHttpRequest();
}
2.使用XMLHttpRequest对象的open()方法指定载入文档的HTTP请求类型、文件名以及是否为异步方式 xmlHttpReq.open("GET"(http请求的方式), "9-2.html(请求的URL) ", True(是否为异步方式));
3.使用open()方法指定了请求后,还要用send()方法将请求发送出去
xmlHttpReq.send(null);4.使用onreadystatechange事件监听服务器
用send()方法发送了一个载入文档的请求后,还要准备接收服务器端返回的文档或内容。
这时需要用事件监听机制来捕获请求的状态,onreadystatechange事件实现这一功能。
xmlHttpReq.onreadystatechange=RequestCallBack; function RequestCallBack(){if(xmlHttpReq.readyState == 4 && xmlHttpReq.status == 200) {
document.getElementById("target").innerHTML = xmlHttpReq.responseText;
}
}
1.onreadystatechange事件中的事件处理函数只有在readyState属性发生改变时才会触发,readyState的值表示服务器对当前请求的处理状态,可以根据这个值来进行不同的处理。
readyState有五种可取值(0:尚未初始化;1:正在加载;2:加载完毕;3:正在处理;4:处理完毕)
status属性表明请求是否已经成功,如果status属性值为200表明一切正常,服务器已成功接收了客户端的请求2.服务器在收到客户端的请求后,根据请求返回相应的内容。 文本形式: 存储在responseText中, XML格式: 存储在responseXML中。
它们都是只读属性,只有当readyState属性值为4的时候,才能通过它们获取完整的响应信息。
如果设置服务器端响应内容类型为Response.ContentType="text/xml",responseXML才会有值并被解析成一个XML文档。
XMLHttpRequest对象
1 XMLHttpRequest对象虽然名称中含有XML,但它并不限于和XML文档一起使用,它可以接收任何形式的文本文档,如HTML文档、JSON文档、XML文档等。
2 XMLHttpRequest对象与PHP中的Request对象的功能也完全不同,Request对象是服务器端的对象,它的作用是获取从客户端发送来的数据;而XMLHttpRequest对象是位于客户端浏览器中的对象,它的作用是发送数据给服务器后再从服务器获取传回来的数据5.发送数据给服务器
Get方式
xmlhttp.open("get","9-3.php?user=tang&n=" + Math.random());
Post方式
xmlhttp.open("post","9-3.php");
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("username="+user+ "&n=" + Math.random());
JqueyAjax
使用load方法(只用于 HTML载入)
载入HTML文档
load()方法能载入远程HTML文档并将其插入到指定的DOM元素中。它的语法为 load( url [, data ] [, callback])
vfunction Ajax(){ $(“#target”).load(“9-5.html .title”); // URL和选择器之间必须有一个空格
}
<input type="button" value="Ajax载入" onclick="Ajax();"/>
<div id="target"></div>发送数据给服务器function Ajax(){$("#target").load("9-6.php?
user=张三&comment=很好"//---以GET方式发送
, {nick:"rain", age:22}) } //---以POST方式发送
使用get()方法
function Ajax(){
$.get(“9-11.php”, {user:$(“#user”).val(), comment:$(“#comment”).val()},function(data){ $("#target").append(data);
});
}使用$.post()方法
$.post("9-11.asp", {user:$("#user").val(),comment:$("#comment").val()},function(data){ $("#target").append(data);});
服务器端程序可以用Request集合获取数据
<% user=request.Form("user") comment=request.Form("comment") response.Write "<h3>评论人"&user&"</h3>“ %>
原始的Ajax vs Jquery Ajax1GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器。当然,在Ajax请求中,用户看不到这种区别
2 GET方式对传输的数据有大小限制,通常不能超过2KB,而使用POST方式传递的数据量要比GET方式大得多,理论上没有限制。
3 GET方式请求的数据会被浏览器缓存起来,而POST方式请求的数据不会被浏览器缓存
4 通过GET方式和POST方式传递给服务器端的数据,服务器端需要采用不同的方式获取,
使用$.ajax()方法
$.ajax()方法是jQuery中最底层的Ajax实现,load()、$.get()、$.post()、$.getScript()和$.getJSON()这些方法,都是基于$.ajax()方法构造的,它的语法为:
$.ajax(options)
示例:
$.ajax({ type: “GET”,//设置请求方式 url: “9-8.js”,//设置请求的URL dataType: “script”//设置返回数据的类型 })
- Ajax入门必知
- Ajax入门必看
- Linux入门必知
- Qt 入门必知
- 入门必知(经典)
- Vim入门必知
- opencv0-入门必知
- linux入门必知
- Java入门必知内容
- Java Web入门必知
- selenium入门学习理论必知
- java web 入门必知
- QML入门必知教程
- Knockout入门必知的两个知识点
- 入门redis必知的基础知识
- Ajax新手必看
- ajax必会知识
- C++入门必看
- android performClick使用说明
- JAVA之---浅析访问权限控制
- HTML 入门
- Linux shell编程——if条件判断
- 淘宝天猫垄断之下,新电商还有空间吗?
- Ajax入门必知
- php通过PHPExcel导出Excel表格
- 增大swap分区
- curl——HTTP协议.header
- 84. PHP OOP 变更日志
- 互联网时代,真的不需要传统杂志了吗?
- [刷题]Search a 2D Matrix II
- git命令整理
- 在linux上使用yum安装JDK