一个简单的AJAX示例
2013-01-08 14:16
387 查看
虽然现在有了框架,许多AJAX调用直接调用它们的API就可用。但有些极端情况,比如面试,比如第三方应用不想加载这些库,我们就只有自己写。这时想必有许多人要疯狂google,百度了。网上太多垃圾信息,我还是在自己博客上保存一份吧。
我的实现:
群里黑暗骑士的实现:
我的实现:
var ajax = new(self.XMLHttpRequest||ActiveXObject)("Microsoft.XMLHTTP") ajax.onreadystatechange = function(){ if (ajax.readyState==4 && ajax.status==200){ alert(ajax.responseText) } } ajax.open("POST", url, true); ajax.send("key=val&key1=val2");
群里黑暗骑士的实现:
Ajax = function(){ function request(url,opt){ function fn(){} var async = opt.async !== false, method = opt.method || 'GET', data = opt.data || null, success = opt.success || fn, failure = opt.failure || fn; method = method.toUpperCase(); if(method == 'GET' && data){ url += (url.indexOf('?') == -1 ? '?' : '&') + data; data = null; } var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); xhr.onreadystatechange = function(){ _onStateChange(xhr,success,failure); }; xhr.open(method,url,async); if(method == 'POST'){ xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded;'); } xhr.send(data); return xhr; } function _onStateChange(xhr,success,failure){ if(xhr.readyState == 4){ var s = xhr.status; if(s>= 200 && s < 300){ success(xhr); }else{ failure(xhr); } }else{} } return {request:request}; }();
相关文章推荐
- 按要求写一个简单的ajax示例
- Ajax得知(两)—— 一个简单的Ajax示例
- 一个非常简单的 ASP.NET MVC 示例:长轮询(又叫:反向 AJAX,英文名:Comet)实现
- 一个简单AJAX注册示例
- ajax 一个简单示例 预览链接
- 一个简单的ajax上传进度显示示例
- [Sample][Ajax][OneCode]一个简单的Ajax Web Chat站点示例
- 一个简单的ajax上传进度显示示例
- 一个简单的AJAX示例(转)
- 这里自己写一个关于ajax简单的异步吧
- 原生JS简单实现ajax的方法示例
- [JavaScript]AJAX方法简单示例——1(.load()方法)
- 一个系统引导程序的简单示例1
- JavaScript实现Ajax请求简单示例
- Android 框架设计Demo,一个简单的MVP示例搜索功能,网络请求用Retrofit+RxJava实现
- 一个简单的ajax实例
- 分形技术的一个简单示例——雪花图案(AS3实现)
- 一个简单的ALSA示例代码
- 一个最简单的基于PHP+jQuery的AJAX例子
- AJAX简单示例——实现检测用户名是否可用