AJAX基础学习(1)(创建对象,发请求)
来源:互联网 发布:廊坊用友软件 编辑:程序博客网 时间:2024/05/08 16:31
创建对象
<script> var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }</script>
向服务器发送请求
请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
open(method,url,async)
规定请求的类型、URL 以及是否异步处理请求。
- method:请求的类型;GET 或 POST
- url:文件在服务器上的位置
- async:true(异步)或 false(同步)
send(string)
将请求发送到服务器。
- string:仅用于 POST 请求
GET 请求
xmlhttp.open("GET","demo_get.php",true);xmlhttp.send();
xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true);xmlhttp.send();
POST 请求
setRequestHeader(header,value)向请求添加 HTTP 头。
- header: 规定头的名称
- value: 规定头的值
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
status
- 200: “OK”
- 404: 未找到页面
xmlhttp.open("POST","demo_post.php",true);xmlhttp.send();
xmlhttp.open("POST","ajax_test.php",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("fname=Bill&lname=Gates");
Async = true
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }xmlhttp.open("GET","test1.txt",true);xmlhttp.send();
sync = false
如需使用 async=false,请将 open() 方法中的第三个参数改为 false:
xmlhttp.open("GET","test1.txt",false);xmlhttp.send();document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
响应
- responseText 获得字符串形式的响应数据。
- responseXML 获得 XML 形式的响应数据。
<script type="text/javascript">function loadXMLDoc(){var xmlhttp;var txt,x,i;if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { xmlDoc=xmlhttp.responseXML; txt=""; x=xmlDoc.getElementsByTagName("title"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt; } }xmlhttp.open("GET","/example/xmle/books.xml",true);xmlhttp.send();}</script>
请求的回调
<script type="text/javascript">var xmlhttp;function loadXMLDoc(url,cfunc){if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }xmlhttp.onreadystatechange=cfunc;xmlhttp.open("GET",url,true);xmlhttp.send();}function myFunction(){loadXMLDoc("/ajax/test1.txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } });}</script>
0 0
- AJAX基础学习(1)(创建对象,发请求)
- 创建ajax的请求对象
- AJAX学习笔记(二)_创建XMLHttpRequest对象
- AJAX学习(一)ajax发送请求
- Ajax 发请求扩展
- jquery发ajax请求
- 创建Ajax的异步请求对象
- js 创建对象,ajax 请求实例
- 学习AJAX+JQUERY必看(JavaScript基础对象篇)
- PyQt5学习第一发(基础窗口创建 菜单栏 工具栏 状态栏 )
- JS实现AJAX请求(基础篇)
- 基础对象创建(三)
- AJAX(一)创建XMLHttpRequest对象
- angularjs学习笔记之一(ajax请求)
- 对象基础创建对象(一)
- 对象基础创建对象(二)
- ajax实现异步获取数据 (js创建ajax对象)
- AJAX概念介绍:2.2 XMLHttpRequest对象的创建、请求、响应
- 每日一linux命令(24)-------Linux 文件类型与扩展名
- 分析能力提高篇四:百度用户体验总监刘超下课,HR内部贴称其“给百度同学造成严重伤害”
- SSM框架整合仿QQ空间
- 我所理解的设计模式(C++实现)——组合模式(Composite Pattern)
- 监听软键盘中的删除键
- AJAX基础学习(1)(创建对象,发请求)
- 初次使用VS2010基于C++开发项目碰到的问题及解决方法
- Roman to Integer(java)
- 一个互联网app的开发设计(技术选型和架构)
- 变量、常量 的区别
- 第一次谈判经历
- java 面试题
- DrawCall优化
- hdu 3594 Buy Computers【水题】