AJAX 总结
2016-01-07 10:47
155 查看
<pre style="font-family: Consolas; font-size: 12pt;"><pre name="code" class="javascript" style="background-color: rgb(255, 255, 255);"> /*创建ajax核心对象*/ /*get方法*/ var xhr = getXhr(); xhr.open("GET","php?key=value&key=value..."); //与服务器简历链接,使用get方式向服务器发送请求 xhr.send(null); //发送请求 xhr.onreadystatechange = function(){ //触发事件 if(xhr.readyState==4&&xhr.status==200){ //服务器响应完成 并且 本次请求成功 var data = xhr.responseText; //用data 存储 从服务器端发送回来的json格式的*字符串*数据 var obj = JSON.parse(data); //用JSON.parse()来解析 比较安全不用eval('('+data+')') }else{ console.log("发生错误"+xhr.status); } }; /*post方法*/ var xhr = getXhr(); xhr.open("POST","php"); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send("key=value&key=value..."); xhr.onreadystatechange = function(){ if(xhr.readyState==4&&xhr.status==200){ var data = xhr.responseText; var obj = JSON.parse(data); }else{ console.log("发生错误"+xhr.status); } } /*构造XMLHttpRequest函数*/ function getXhr(){ if(window.XMLHttpRequest){ //Mozilla浏览器 xhr = new XMLHttpRequest(); }else{ //IE浏览器 if(window.ActiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHttp"); } } return xhr; }
JSON.parse()与eval()的区别:
eval() 这种解析方法,不会在意json数据的合法性,如果里面有js代码,会直接执行。如果存在window.location等链接 累的恶意代码,这样是很危险的。(string,number,boolean)
JSON.parse() 则不会,如果存在不合法的类型,会直接报错。
相关文章推荐
- linux内核启动2_setup_arch函数
- 利用jenkins实现自动化测试的分布式执行
- Django 将数据批量插入数据库bulk_create()
- Rsyslog+LogAnalyzer+MySQL部署日志服务器
- Hibernate框架详解(三)框架中的关系映射
- Javascript实现图片的预加载的完整实现
- php正则表达式验证 preg_match
- DIV CSS用float时引起背景不正常显示的解决办法
- UICollectionView的简单使用
- YTU 1006: Hero In Maze
- 如何提高英语学习
- 机器学习与数据挖掘网上资源搜罗——良心推荐
- 1Z0-050 question 1
- 中兴手机刷机
- 2016 重新开始
- 实现Gmail邮箱翻转效果之ActionBar
- nginx httpgzip模块
- git
- C++11的future和promise及active object并发模式
- PostgreSQL学习手册(系统视图)