AJAX 的简单实例 (JS实现 和JQuery 实现)
2016-08-09 22:34
921 查看
什么是AJAX
原生JS实现AJAX
HTML5 xmlhttprequest2
JQuery实现
跨域问题
parseJSON
AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
可以使用FormData对象管理表单数据。
可以上传文件。
可以请求不同域名下的数据(跨域请求)。
可以获取服务器端的二进制数据。
可以获得数据传输的进度信息。
2
所谓的不能跨域请求就是自己的主机不能去请求别的主机内容的。
所以这里的例子都是 在自己的服务器上运行的。
解析动态的添加到 html文档中
原生JS实现AJAX
HTML5 xmlhttprequest2
JQuery实现
跨域问题
parseJSON
什么是AJAX
Asynchronous Javascript And XML”(异步JavaScript和XML)AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
原生JS实现AJAX
function ajax() { //先声明一个异步请求对象 var xmlHttpReg = null; if (window.ActiveXObject) {//如果是IE xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttpReg = new XMLHttpRequest(); //实例化一个xmlHttpReg } //如果实例化成功,就调用open()方法,就开始准备向服务器发送请求 if (xmlHttpReg != null) { xmlHttpReg.open("get", "text.json", true); xmlHttpReg.send(null); xmlHttpReg.onreadystatechange = function () { if (xmlHttpReg.readyState == 4) {//4代表执行完成 if (xmlHttpReg.status == 200) {//200代表执行成功 //将xmlHttpReg.responseText的值赋给ID为resTextdocument.getElementById("resText").innerHTML = xmlHttpReg.responseText; alert(); } } }; //设置回调函数 } //回调函数 //一旦readyState的值改变,将会调用这个函数,readyState=4表示完成相应 //设定函数doResult() function doResult() { if (xmlHttpReg.readyState == 4) {//4代表执行完成 if (xmlHttpReg.status == 200) {//200代表执行成功 //将xmlHttpReg.responseText的值赋给ID为resTextdocument.getElementById("resText").innerHTML = xmlHttpReg.responseText; alert(); } } } } }
HTML5 xmlhttprequest2
可以设置HTTP请求的时限。可以使用FormData对象管理表单数据。
可以上传文件。
可以请求不同域名下的数据(跨域请求)。
可以获取服务器端的二进制数据。
可以获得数据传输的进度信息。
var xmlHttpRequest=new XMLHttpRequest(); xmlHttpRequest.open('post',url,true); xmlHttpRequest.responseType="text"; xmlHttpRequest.send("te111"); xmlHttpRequest.onload=function () { if(this.status==200){ alert(this.responseText); } }
JQuery实现
1导入JQuery库<script src="js/jquery.js"></script>
2
function getDataFormServer() { $.ajax({ type: "GET", url: "http://127.0.0.1/0809/text.json", dataType: "text", success: function (data, textStatus) { alert("success"); $("#myDiv").html(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } ,complete: function (jqXHR, status, responseText) { alert("请求完成") } // }); }
跨域问题
一般情况下 ajax是不能跨域请求的,所谓的不能跨域请求就是自己的主机不能去请求别的主机内容的。
所以这里的例子都是 在自己的服务器上运行的。
$.parseJSON
将得到的JSon转换成对象。success: function (data) { var data = $.parseJSON(data);}
解析动态的添加到 html文档中
str = "<p>" + data.pName + "</p></div>"; $("#infos").append(str);
相关文章推荐
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- js结合jquery实现的ajax瀑布流加载实例
- js与jQuery实现的兼容多浏览器Ajax请求实例
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- 学习新事物:使用jquery+xml实现ajax简单实例
- Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- 简单实现:jquery ajax/jquery.form.js + springmvc上传文件,带进度条
- JQuery的Ajax请求实现局部刷新的简单实例
- jQuery实例―选项卡的简单实现(js源码和jQuery)
- js结合json实现ajax简单实例
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- jquery+ajax+C#实现无刷新操作数据库数据的简单实例
- Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
- js与jQuery实现的兼容多浏览器Ajax请求实例
- js实现简单实用的AJAX完整实例
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- jquery+ajax+C#实现无刷新操作数据库数据的简单实例
- 原生js方式实现ajax,并仿jquery方式简单调用
- JQuery的Ajax请求实现局部刷新的简单实例