一、基础知识点

1.ajax可以做事情:局部刷新 浏览器搜索列表记录 加载更多的数据

2.登录页面同步网络请求:页面全部刷新,用户量大体验很不好

3.ajax的详解:ajax的get和post请求 同步还是异步,true为异步

ajax.open("get","login.php","true")

二、ajax的get和post请求

2.1 get和post请求

ajax的get异步请求

window.onload = function () {

var btn = document.getElementById('btn');

btn.onclick = function () {

//第一步

var ajax = null;

if(window.XMLHttpRequest){//标准浏览器

ajax = new XMLHttpRequest();

}else{//早期浏览器

ajax = new ActiveXObject('Microsoft.XMLHTTP');

}

var username = document.getElementById('username').value;

var password = document.getElementById('password').value;

//第二步

var geturl = 'open.php?username='+username+'&password='+password;

`post请求加入********`

//var posturl = 'open.php';

//ajax.open('post',posturl,true);

ajax.open('get',geturl,true); //第三步

`post请求加入********`

//ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

//var postParam = 'username='+username+'&password='+password;

//ajax.send(postParam);

ajax.send(null);

//第四步

ajax.onreadystatechange = function () {

if(ajax.readyState == 4){

if(ajax.state == 200){

var data = ajax.responseText;

console.log(data);

}

}

}

}

}

用户名:
密码:

2.2get和post请求区别

***get请求的拼接参数设置

var geturl = 'open.php?username='+username+'&password='+password;

ajax.open('get',geturl,true);

ajax.send(null);

***post请求的参数设置

var posturl = 'open.php';

ajax.open('post',posturl,true);

ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

var postParam = 'username='+username+'&password='+password;

ajax.send(postParam);

2.3后台的返回数据

//后台的数据

$username = $_GET['username'];

$password = $_GET['password'];

$username = $_POST['username'];

$password = $_POST['password'];

//返回的数据echo '用户名:'.$username.'密码:'.$password;

>

三、xml数据解析

3.1数据乱码的解决

var geturl = 'open.php?username='+username+'&password='+password;

变为

var geturl = 'open.php?username='+encodeURIComponent(username)+'&password='+password;

乱码一般是因为出现的中文数据。只需要将中文的数据的前面添加encodeURIComponent进行转码即可。

3.2xml数据解析

3

< xing/>

< xing >

4

数据解析

var data = ajax.responseText;

var bs = data.getElementsByTagName('xings')[0];

console.log(bs);

var xins = bs.getElementsByTagName('xing');

var tag = '';

for(var i = 0;i < xins.length;i ++){

var xing = xins[i];

var name = xing.getElementsByTagName('name')[0];

var desc = xing.getElementsByTagName('desc')[0];

tag += '

'+getNodeText(name)+''+getNodeText(desc)+',';

}

//展示数据

var tags = document.createElement('tags');

tags.innerHTML = tag;

四、json数据(标准的数据结构类型)解析

json的对象和json的字符串的区别

//json字符串

var str = '{"name":"三国","des":"文学"}';

//将字符串->json的对象

var data = JSON.parse(str);

//将json的对象->json字符串

var s = JSON.stringify(data);

//输出的内容为:{"name":"三国","des":"文学"}

console.log(str);

//输出的内容为:文学

console.log(data.des);

//输出的内容为:Object {name: "三国", des: "文学"}

console.log(data);

//输出的内容为:{"name":"三国","des":"文学"}

console.log(s);

4.1 JSON解析的实例讲解

json数据结构

数据实例解析.png

效果图

屏幕快照 2016-07-21 上午10.28.06.png

代码解析

快递

#divcss{

background-color: cornflowerblue;

width: 200px;

height: 200px;

position: relative;

margin-top: 100px;

margin-left: 400px;

}

window.onload = function () {

var btn = document.getElementById('btn');

btn.onclick = function () {

var code = document.getElementById('textfield').value;

//网络请求*******

var ajax = null;

ajax = new XMLHttpRequest();

var url = "https://www.baidu.com";

ajax.open('get',url,true);

ajax.send(nil);

ajax.onreadystatechange = function () {

if(ajax.status == 200&&ajax.readyState == 4){

alert("请求成功");

var data = JSON.parse(ajax.responseText);

if(data.status == 0){

var list = data.data.info.context;

var tag = "";

for (var i = 0;i < list.length;i ++){

//获取model中的数据

var item = list[i];

var time = item.time;

var desc = item.desc;

var t = new Date();

t.setTime(time+'000');

var str = t.getFullYear()+'年'+(t.getMonth()+1)+'月'+t.getDay()+'日'+(t.getHours()>12?'下午':'上午')+t.getHours()%12+':'+t.getMinutes()+':'+t.getSeconds();

tag += '

'+str+'
'+desc+'

';

}

var ul = document.createElement('ul');

ul.innerHTML = tag;

document.getElementById('divcss').appendChild(ul); }

}

};

};

var ul = document.createElement('ul');

ul.innerHTML = "无数据内容";

document.getElementById('divcss').appendChild(ul);

alert(3);

}

html5 ajax数据显示,html5的ajax学习(二)相关推荐

  1. html5中动画总结,HTML5-CSS3总结学习(二)

    一.rotate2d旋转指的是让元素在2维平面内顺时针旋转或者逆时针旋转 使用步骤:给元素添加转换属性 transform 属性值为 rotate(角度) 如 transform:rotate(30d ...

  2. ajax与HTML5 history pushState/replaceState实例

    一.本文就是个实例展示 三点: 我就TM想找个例子,知道如何个使用,使用语法什么的滚粗 跟搜索引擎搞基 自己备忘 精力总是有限的,昨天一冲动,在上海浦东外环之外订了个90米的房子,要借钱筹首付.贷款和 ...

  3. html5拖拽图片批量ajax无刷新进度上传

    1.前端拖拽图片 之前有篇文章说到HTML5的拖拽(drag.drop,详见:/post/jquery-plugin-1-jquery-drag-and-html5-draggable-api-and ...

  4. HTML5中的webSocket、ajax、http

    本文原链接:https://cloud.tencent.com/developer/article/1115496 https://cloud.tencent.com/developer/articl ...

  5. html5支持ajax和jQuery吗,使用HTML5文件上传与AJAX和jQuery(Using HTML5 file uploads with AJAX and jQuery)...

    使用HTML5文件上传与AJAX和jQuery(Using HTML5 file uploads with AJAX and jQuery) 诚然,Stack Overflow上有类似的问题,但似乎并 ...

  6. Ajax 学习 二 Accordion和AccordionPane 淡入淡出效果和AutoSize自动尺寸

    Ajax 学习 二 Accordion和AccordionPane 淡入淡出效果和AutoSize自动尺寸 源代码 View Code <%@ Page Language="C#&qu ...

  7. HTML5+CSS3的学习(二)

    HTML5+CSS3的学习(二) 2018版李立超html+css基础 103集教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1sW411T78k?spm_id ...

  8. html5游戏制作入门系列教程(二)

    今天,我们继续html5游戏制作入门系列的系列文章.今天,我们将继续基础知识(也许甚至是高级技巧的基础).我要告诉你如何具有渐变颜色填充对象,绘制文本,使用自定义的字体绘制文本,基本的动画,以及最重要 ...

  9. ajax 无返回_AJAX技术学习

    水里的游鱼是缄默沉静的,陆地上的兽类是喧哗的,空中的飞鸟是喧哗着的.人类却兼有海洋的缄默沉静.陆地的喧哗与天空的音乐. --泰戈尔 佳 著 荐 AJAX技术 AJAX全称为Asynchronous J ...

最新文章

  1. java 并发任务_java 并发 - 运行多个任务并执行第一个结果
  2. java常用 api
  3. Java GC垃圾回收机制
  4. MFC文件打开格式,MFC默认打开文档后缀(支持打开多图像格式)
  5. IDEA—使用插件反编译jar包
  6. Dubbo的微内核机制
  7. vb ClipBoard 剪切板应用(复制剪切粘贴)
  8. 关于Kubernetes规划的灵魂N问
  9. mysql出现死锁场景_mysql死锁场景分析
  10. 【java工具类】将明文密码转成MD5密码
  11. MT【91】空间余弦定理
  12. python词云图(以斗破苍穹为例)
  13. Eureka解密(1)------ 注册实例服务发现理解
  14. 4路服务器cpu位置,4路cpu服务器
  15. 根据身份证解析出生年月
  16. 万兆局域网方案_家庭基础万兆网络——最简单的方案
  17. 【密码学基础】07 分组加密工作模式
  18. LibreOffice完美解决中文字体问题(在黑暗中摸索了好久~)
  19. [年终总结]愿你永远清澈明朗,眼里有光
  20. 拜占庭将军问题与PBFT算法和POW共识

热门文章

  1. 微软拥抱开源,Win10为啥要引入真Linux4.X内核?
  2. TOTP 介绍及基于 C# 的简单实现
  3. 架构为什么要以领域为核心
  4. .NET Core实战项目之CMS 第十五章 各层联动工作实现增删改查业务
  5. 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1.3X
  6. 【招聘(北京)】东方国信 工业互联网
  7. ASP.NET Core MVC – Form Tag Helpers
  8. ZKEACMS for .Net Core 深度解析
  9. [转]敏捷开发之Scrum扫盲,及敏捷开发中XP与SCRUM的区别
  10. linux shell之pushd、popd、dirs