Ajax学习心得
来源:互联网 发布:java 队列 线程安全 编辑:程序博客网 时间:2024/06/06 00:21
最近学习了Ajax的实现做笔记以便以后查询
通常用from表单进行提交请求的时候,画面会刷新,Ajax的特点在于提交请求的时候不会跳转界面,并且结合DOM可以使返回的值动态在本页面添加
Ajax的实现:
1、创建一个Ajax对象:
针对 IE7+, Firefox, Chrome, Opera, Safari的浏览器使用如下方式即可
var Ajax = new XMLHttpRequest();
对于IE6, IE5浏览器需要用:
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
此处可以用一个if判断进行对Ajax对象的创建,整段代码如下:
function GetAjax(){ var Ajax; if(window.XMLHttpRequest){ Ajax = new XMLHttpRequest(); }else if(window.ActiveXObject){ Ajax = new ActiveXObject("Microsoft.XMLHTTP"); } return Ajax;}
2、打开链接
//get方式var url = "./Test";Ajax1.open("GET", url, true);//此处只是访问了一下url,若需要传参则在url中加入信息
//post方式xmlhttp.open("POST","./Test",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
get和post方式的区别在于:
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
3、发送数据
//post方式: post请求中,在send中加入自己要发送的数据Ajax1.send("fname=Henry&lname=Ford");//get方式:get请求中,数据是写在url中的,只需要发送就可以Ajax1.send();
4、接受响应
//onreadystatechange是XMLHttpRequest中提供的一个事件当readyState 的值发生改变时会自动调用/**readyState的值表示了当前请求的状态:0:尚未初始化1:正在加载2:加载完毕3:正在处理4:处理完毕。当readyState的值变为了4就证明服务器已经响应完毕*/Ajax1.onreadystatechange = function() { if (Ajax1.readyState == 4) { alert(Ajax1.status); if (Ajax1.status == 200) { alert(Ajax1.responseText); } else { //如果不能正常接受结果,你肯定是断网,或者我的服务器关掉了。 alert("网络连接中断!"); } }}
以上为ajax请求和响应的整个过程,在用get方式尝试的时候发现一个坑:
readyState已经等于4了,但是status却是0,无论是从tomcat发布的文件还是本地都无法访问成功。后来将url改为本地就成功了。查阅了很多资料可能是因为跨域访问的问题,因为没有设置跨域访问,所以会显示0
阅读全文
0 0
- ajax学习心得
- ajax学习心得。。。
- ajax学习心得
- Ajax学习心得
- Ajax学习心得
- ajax学习心得
- Ajax学习心得
- AJAX学习心得
- Ajax学习心得
- Ajax 的学习心得
- Ajax 的学习心得2
- ajax学习心得(1)
- ajax轮询 学习心得
- AJAX学习心得分享----(一)AJAX初识+原生态AJAX
- AJAX学习心得分享----(二)使用JQuery实现AJAX效果
- 学习心得
- 学习心得
- 学习心得
- POJ:2586-Y2K Accounting Bug
- No1:python+机器学习(决策树)
- Minimum Path Sum
- CentOS系统下的Hadoop集群(第4期)_SecureCRT使用
- SpringCloud教程八:消息总线(SpringCloud Bus)
- Ajax学习心得
- 外观模式Facade(结构型)
- bzoj4176 Lucas的数论 (杜教筛 +莫比乌斯反演)
- 文章标题
- VS2015+MATLAB2016b混合编程
- CentOS系统下的Hadoop集群(第3期)_VSFTP安装配置
- jdk配tomcat与oracle
- 【ACM/ICPC训练】修理牧场
- 预编译