ajax
来源:互联网 发布:贴吧发帖软件 编辑:程序博客网 时间:2024/06/05 01:13
Ajax简介
Ajax = Asynchromons JavaScript and XML(即异步的javaScript 和XML),可以通过后台服务器数据交换是页面更新。用法:
主要有四个步骤:
1:创建XMLHttpRequest对象;
语法:
var xml= New XMLHttpRequest(); //由于IE5和IE6版本没有这个对象所以需要考虑兼容问题 var xml = New ActiveXobject('micsoft.XMLHTTP') //这里我们可以用if语句做一下判断。 if(window.XMLHttpReqest){ var xml= New XMLHttpRequest(); }else{ var xml = New ActiveXobject('micsoft.XMLHTTP'); }
2:向服务器发送请求Open一个方法;
语法:
xml.open(); //这里open(methed,url,async)分别是规则请求的数据类型,url和是否异步处理请求;
3:send(sting)发送数据:
send()方法如果使用get方式open则send() 里面可以是空,但是如果是post方法open则send()方法里面必须有数据
xml.send();
;
4:接受返回的数据;
语法:
xml.onreadystatechange = function (){ if(xml.readyState == 4){ if (xml.status==200) { // var body=JSON.parse(xml.responseText);//转化为对象类型 success&&success(JSON.parse(xml.responseText)); } } }
注意:如果需要获得服务器响应,请用XMLHttpRequest对象的responseText和responseXML属性,
1:responseText属性返回字符串形式的响应,如json数据;
2:responseXML属性,如果来自服务器的响应是XML而需要作为XML对象进行解析时使用responseXML;
onreadystatechange事件:当请求被发送服务器时我们需要执行
基于响应的任务,每当readystate改变时就会触发onreadystatechange事件;
XMLHttpRequest对象的三个重要的属性:
- onreadystatechange:存储函数或者是函数名每当readystate属性发生改变时就会调用函数;
- readystate:存有XMLHttpRequest对象的状态从0到4;
0: 请求初始化;
1:服务器链接建立;
2 : 请求接收;
3:请求正在处理
4 :请求完成且响应已经就位; - status:200:“OK”404:没有找到页面
缓存问题
在open()方法中的url后面加一个动态字符串
“url?”+Math.random(); //或者 “url?”+New Date().getTime();
ajax的分装
function ajax(option){ var type=option.type; var url=option.url; var async=option.async; var success=option.success; var xml = null; if(window.XMLHttpRequest){ xml = new XMLHttpRequest(); }else { xml = new ActiveXObject("Microsoft.XMLHttp"); } url=url+"?"+Math.random();//解决缓存问题 xml.open(type,url,async); xml.send(); xml.onreadystatechange = function (){ if(xml.readyState == 4){ if (xml.status==200) { // var body=JSON.parse(xml.responseText);//转化为对象类型 success&&success(JSON.parse(xml.responseText)); } } } }
jquery.get分装的ajax
首先需要进入jquery框架;
$.get( "./Ajax.aspx", { Action:"get", Name:"lulu" }, function (data, textStatus){ //alert(data); //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等. //alert(this); //this; // 在这里this指向的是Ajax请求的选项配置信息 //alert(textStatus); //请求状态:success,error等等。 当然这里捕捉不到error,因为error的时候根本不会运行该回调函数});
vue 的ajax分装
首先需要引入Vue框架和vue-resource;
this.$http.get("./api/xxxx").then(response=>{ this.data=response.body //data是回调函数中的参数,也是请求数据的接受对象; })
阅读全文
0 0
- Ajax
- Ajax
- AJAX
- AJAX
- AJAX
- AJAX
- AJAX
- ajax
- ajax
- Ajax
- ajax
- ajax
- AJAX
- Ajax
- Ajax
- Ajax
- ajax
- ajax
- 单词记忆
- hdu 2222Keywords Search(AC自动机入门好题)
- Yii2权限管理之ACF
- LightOJ 1341 Aladdin and the Flying Carpet
- 多线程编程
- ajax
- 找出动词前面的并以动词命名
- 【Python版】OpenCV学习笔记(1):安装
- signal-利用中断信号来干别的事情
- 同源策略及跨域
- 常用数据库对象
- Codeforces 827D (Round #423 Div. 1) D. Best Edge Weight 树上倍增
- C++中的编译预处理命令
- .NET实现多图拼接(拼图)