Ajax学习笔记
来源:互联网 发布:tensorflow get shape 编辑:程序博客网 时间:2024/06/05 18:50
Ajax学习笔记
- 用途
- 接收数据的使用方式
- 发送数据的使用方式
一、用途:
让我们能向服务器异步接收和发送数据,然后用JavaScript解析。
二、接收数据的适用方式
1、发起Ajax请求:创建一个XMLHttpRequest对象,调用其open和send方法;
function a(e){ var request = new XMLHttpRequest(); request.open("GET", e.target.innerHTML+".html"); request,send();}
2、使用一次性事件追踪请求的进度:使用二级事件,如onload()、onloadstart()、onloadend;
function a(e){ var request = new XMLhttpRequest(); request.onload = handlerOnload; xxx;}function onload(){ xxx;}
3、探测和处理错误:响应错误事件或者try_catch;
function handlerError(){ xxx; }ortry{ request.open("GET","http:"); request.send();}catch(error){ xxx; }
4、设置Ajax请求的标头:调用setRequestHeader()方法
request.setRequestHeader(“X-HTTP-Method-Override”,"DELETE");orrequest.setRequestHeader("Cache-Control","no-cache");//禁用内容缓存
5、读取服务器响应的标头
docment.getElementById("allheaders").innerHTML=request.getAllResponseHeaders();docment.getElementById("header").innerHTML=request.getResponseHeader("Content-Type);
6、发起跨源Ajax请求
request.open("GET",“http://xxxx:8080”+ e.target.innerHTML);
7、终止一个请求
request.abort();
三、发送数据的使用方式
1、向服务器发送表单数据
<form id="form" action=“http://xxx:8080/form”> apples:<input name="apples" value="10" /> bananas:<input name="bananas" value="2" /> <button id="submit" type="submit">Submit Form</button><form/><script> document.getElementById("submit").onclick=handlerButtonClick; var XMLHttpRequest; function handlerButtonClick(e){ e.preventDefault(); var form = document.getElementById("form"); var formData = "";//or var firmData = new FormData(form); var inputElements = document.getElementById("input"); for(var i=0;i<inputElements.length;i++){ formData += inputElements.get(i).name + “=” + inputElements.get(i).value+"&"; } request = new XMLHttpRequest(); request.onreadystatechange = handlerResponse; request.open("POST",form.action); request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//在使用FormData的情况下,可以使用默认请求头 request.send(formData); } function handlerResponse(){ if(request.readyState == 4 && request.statue =200){ docment.getElementById("results").innerHTML=requesr.responseText; } }</script>
2、发送json数据
var formData = new Object();for(var i=0;i<inputElements.length;i++){ formData[inputElements[i].name] = inputElement[i].value;}request.setRequestHeader("POST", "application/json");request.send(Json.stringify(formData));//将指定对象转化为String类型的json数据
3、向服务器发送文件
<input type="file" name="file" />
4、跟踪向服务器上传数据的进度
<progress id="prog" value="0" />var progress = document.getElementById("prog");var upload = request.upload;upload.onprogress = function(e){ progress.max = e.total; progress.value = e.loaded;}upload.onload = function(e){ progress.max = 1; progress.value = 1;}
5、覆盖服务器发送的MIME类型
request.overrideMimeType("text/html");
6、从服务器接收xml
request.overrideMimeType("application/xml");var xmlDoc = request.responseXML();
7、从服务器接收json数据
var data = Json.parse(request.responseText);
阅读全文
0 0
- ajax学习笔记---什么是Ajax
- [ajax 学习笔记] ajax初试
- Ajax学习笔记-Ajax数据格式
- AJAX学习笔记--慕课网Ajax
- Ajax学习笔记(一)
- Ajax学习笔记(二)
- Ajax学习笔记(三)
- Ajax学习笔记(四)
- Ajax学习笔记(五)
- Ajax学习笔记(六)
- Ajax学习笔记
- Ajax 学习笔记(1)
- Ajax 学习笔记(2)
- Ajax 学习笔记(3)
- Ajax Gossip学习笔记
- AJAX学习笔记--从零开始
- Ajax 学习笔记
- ajax学习笔记
- React、React Native面试题
- unity脚本模板
- Spring集成Mybatis配置与源码分析
- ◆程序笔记◆◇第四期◇扩展欧几里得算法
- 洛谷P1120 小木棍[数据加强版](回溯法)
- Ajax学习笔记
- hdu 6001 容斥 + dfs
- 网易2017秋招笔试题3:最长公共子括号序列长度
- 5. 机器学习基石-Why can Machine Learn?
- css继承属性
- Not found in archive 和 Permission denied
- Keil5生成BIN文件及HEX文件介绍
- html+css+js实现的简易下拉菜单
- VUE案例 todolist 上移下移置顶 删除