ajax初来咋到
来源:互联网 发布:易观的数据来源 编辑:程序博客网 时间:2024/06/05 02:10
ajax最让人注意自然的词是“异步的”,但ajax这个词只是个花俏的说法而已。
有的老外叫即时通信,其实意思也是局部刷新。即A——》B,B——》C,用了ajax可以A——》B同时A——》C了。
function createRequest () {varxhr = new XMLHttpRequest();return xhr;}定义一个函数createRequest,new XMLHttpRequest只是一切工作的开始。但万恶的IE低版本浏览器却的不到支持:( 所以便有了增强版的createRequest函数。
function createRequest () {var xhr = false;if (window.XMLHttpRequest) {xhr = new XMLHttpRequest();}else if (window.ActionXObject) {xhr = new ActiveXObject("Microsoft.XMLHTTP");}return xhr;}所以return出的值答案只有三种可能,即false,new XMLHttpRuest(),new ActiveXObject("Microsoft.XMLHTTP")。当然为了程序更加完善,你应该try catch一下。
unction getBackInfo(file){var ruquest = createRequest();if (request) {request.onreadystatechange = somethings;request.open("GET",file,true);request.send(null);}}又定义一个函数getBackInfo,它传了一个参数file,作用是传哪个文件的值。我们可以看出XMLHttpRuest有三个属性onreadystatechange,open,send
open里的GET是跟send(null)相关联的。具体能力有限,可以参考有关书籍。
request.onreadystatechange = somethings;somethings我们可以定义个匿名函数,再传个参数request过去。
function getBackInfo(file){var ruquest = createRequest();if (request) {request.onreadystatechange = function(){displayRequest(request);};request.open("GET",file,true);request.send(null);}}displayRequest函数就是具体处理的函数,什么发送请求,处理请求对错,请求格式,请求内容都在那儿:)
function displayRequest(request){if (request.readyState == 4) {if (request.status == 200 || request.status == 304 ) {//do}else{alert("error");}}}里面出现的4啊,200,304是什么呀,一句话,多看书。
我们看到当通过俩层把关后,这时用request.responseText应该可以搜出你想要的答案了。
这里面有又分用什么格式传输数据的,有xml格式,json格式,html格式。
具体如下:(json)
function displayRequest(request) { if (request.readyState == 4) { if (request.status == 200 || request.status == 304) { var data = eval('('+request.responseText+')'); var name = data.person.name; var email = data.person.email; var website = data.person.website; var gong = "<<<<<Name>>>>>"+name +"<<<<<Website:>>>>>"+ website +"<<<<<Email:>>>>>"+ email; var details = document.getElementById("details"); details.firstChild.nodeValue = gong; } }}然后html页面就是:
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>People at Clearleft</title> <style type="text/css"> @import url("clearleft.css"); </style> <script type="text/javascript" src="fetchjson.js"></script></head><body> <h1>People</h1> <ul id="titLinks"> <li> <a href="files/andy.js">Andy</a> </li> <li> <a href="files/richard.js">Richard</a> </li> <li> <a href="files/jeremy.js">Jeremy</a> </li> </ul> <div id="details"> </div></body></html>
加上html与js交互函数
function clickLinks(){ var links = document.getElementById("titLinks").getElementsByTagName("a"); for(var i = 0; i<links.length;i++){ links[i].onclick = function(){ //alert("dddddddddddd"); grabFile(this.href); return false; } }}最后来个调用函数
//auto addLoadEvent function addLoadEvent(func){ var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; //第一次则执行,多次则else //console.log(func); }else{ window.onload = function(){ oldonload(); func(); //console.log(func); } }; } addLoadEvent(clickLinks);这就是我这一天的内容,今天终于看懂了些了,这些只是一些凌乱的笔记,望各位读者能自己参与实践。
0 0
- ajax初来咋到
- Ajax
- Ajax
- AJAX
- AJAX
- AJAX
- AJAX
- AJAX
- ajax
- ajax
- Ajax
- ajax
- ajax
- AJAX
- Ajax
- Ajax
- Ajax
- ajax
- 情比金坚却抵不过岁月洗礼
- xcode5 organizer archive 的一些事
- UIButton 技巧setTitleEdgeInsets
- ANDROID4.0 裁剪与定制
- 2 tomcat的内存的配置?
- ajax初来咋到
- Linux文件与目录管理
- AngularJS的 $on、$emit和$broadcast使用
- 写作技巧
- ios7毛玻璃效果实现
- 《unix高级环境编程》系统数据文件和信息——口令文件
- Java异常及处理方法
- iOS 系统crash探寻之路
- 手机摇一摇 DeviceOrientationEvent